Submission #803634

#TimeUsernameProblemLanguageResultExecution timeMemory
803634luciIntercastellar (JOI22_ho_t1)C++17
25 / 100
244 ms3828 KiB
#include<bits/stdc++.h>
using namespace std;
#define ioss ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define int long long
#define tup tuple<int, int, int>
#define pii pair<int, int>
#define fi first
#define se second
#define pub push_back
#define pob pop_back
int n, arr[200004], q;
signed main() {
    ioss;
    cin >> n;
    vector<int> range(n+2);
    for(int i = 1; i <= n; i++) {
        cin >> arr[i];
        int cnt = 0;
        for(int j = 0; j < 30; j++) {
            if(arr[i]%(1ll << j) == 0) cnt = (1ll << j);
            else {
                arr[i] = arr[i]/(1ll << (j-1));
                break;
            }
        }
        range[i] = range[i-1]+cnt;
    }
    cin >> q;
    int idx = 1;
    for(int i = 1; i <= q; i++) {
        int x; cin >> x;
        while(range[idx] < x) idx++;
        cout << arr[idx] << endl;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...