OIG XIV - kwa

// https://szkopul.edu.pl/problemset/problem/1O7x62PkwWamYGZjSs_3McJe/site/?key=statement
// OIG XIV (1 etap)

#include <algorithm>
#include <iostream>

using namespace std;

long long t[200004];
long long sp[200004];

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n;
    cin >> n;

    for (int i = 0; i < n; i++) {
        cin >> t[i];
    }

    sort(t, t + n, greater<long long>());

    sp[0] = 0;
    for (int i = 1; i <= n; i++) {
        sp[i] = sp[i - 1] + t[i - 1];
    }

    int Q;
    cin >> Q;

    for (int i = 0; i < Q; i++) {
        long long x;
        cin >> x;

        int poczatek = 0;
        int koniec = n - 1;

        while (poczatek < koniec) {
            int srodek = (poczatek + koniec + 1) / 2;

            if (sp[srodek] <= x) {
                poczatek = srodek;
            } else {
                koniec = srodek - 1;
            }
        }

        if (sp[poczatek] == x)
            cout << poczatek << "\n";
        else
            cout << poczatek + 1 << "\n";
    }
}