Submission #936684

#TimeUsernameProblemLanguageResultExecution timeMemory
936684kitlixIntercastellar (JOI22_ho_t1)C++17
100 / 100
62 ms10160 KiB
#include <bits/stdc++.h>
#define int long long

using namespace std;

signed main() {
    ios_base::sync_with_stdio(0), cin.tie(0);
    int n;
    cin >> n;
    vector<int> piececnt(n), ressz(n);
    vector<int> cntprefsum(n);
    for (int i = 0; i < n; ++i) {
        int ai;
        cin >> ai;
        piececnt[i] = 1;
        while (ai % 2 == 0) {
            ai /= 2;
            piececnt[i] *= 2;
        }
        ressz[i] = ai;
        if (i + 1 < n)
            cntprefsum[i + 1] = cntprefsum[i] + piececnt[i];
    }
    int q;
    cin >> q;
    while (q--) {
        int xi;
        cin >> xi;
        int l = 0, r = n;
        while (l + 1 < r) {
            int m = (l + r) / 2;
            if (cntprefsum[m] < xi)
                l = m;
            else
                r = m;
        }
        cout << ressz[l] << '\n';
    }
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...