#include <iostream> #include <vector> #include <algorithm> std::vector<long long> minq(std::vector<long long> arr, std::vector<long long> queries) { long long n = arr.size(); std::vector<long long> res; std::sort(arr.begin(), arr.end()); std::vector<long long> ops(n, 0); long long s = 0; for (long long i = 0; i < n; i++) { s += arr[i]; ops[i] = (i + 1) * arr[i] - s; } for (long long x : queries) { long long beg = 0, end = n - 1; while (beg <= end) { long long mid = (beg + end) / 2; if (ops[mid] <= x) { beg = mid + 1; } else { end = mid - 1; } } res.push_back(arr[beg - 1] + (x - ops[beg - 1]) / beg); } return res; } int main() { long long n; std::cin >> n; std::vector<long long> arr(n); for (long long i = 0; i < n; i++) { std::cin >> arr[i]; } long long q; std::cin >> q; std::vector<long long> queries(q); for (long long i = 0; i < q; i++) { std::cin >> queries[i]; } std::vector<long long> result = minq(arr, queries); for (long long x : result) { std::cout << x << "\n"; } return 0; }