Submission #658841

#TimeUsernameProblemLanguageResultExecution timeMemory
658841GrandTiger1729Intercastellar (JOI22_ho_t1)C++17
100 / 100
102 ms9932 KiB
#include <iostream>
#include <algorithm>
using namespace std;

int main(){
    cin.tie(0)->sync_with_stdio(0);
    int n; cin >> n;
    int a[n];
    for (int i = 0; i < n; i++){
        cin >> a[i];
    }
    long long res[n]{}, pref[n + 1]{};
    for (int i = 0; i < n; i++){
        res[i] = 1;
        while (a[i] % 2 == 0){
            res[i] *= 2;
            a[i] /= 2;
        }
        pref[i + 1] = pref[i] + res[i];
    }
    int q; cin >> q;
    while (q--){
        long long x; cin >> x;
        int i = lower_bound(pref, pref + n + 1, x) - pref - 1;
        cout << a[i] << '\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...