Submission #1356972

#TimeUsernameProblemLanguageResultExecution timeMemory
1356972kismisIntercastellar (JOI22_ho_t1)C++20
100 / 100
263 ms17936 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vt vector 
#define pb push_back
#define pob pop_back
#define endl '\n'
#define fi first
#define se second

signed main(){
    int n;
    cin >> n;
    vt<int> a(n);
    for(int i=0 ; i<n ; i++)
    cin >> a[i];
    vt<int> ans;
    int x = 0;
    map<int , int> mp;
    for(int i=0 ; i<n ; i++){
        if(a[i]%2!=0){
            x++;
            ans.pb(x);
            mp[i]=a[i];
            continue;
        }
        int c = a[i];
        while(c%2==0)
            c/=2;
        x += a[i]/c;
        ans.pb(x);
        mp[i] = c;
    }
    int q;
    cin >> q;
    while(q--){
        int k;
        cin >> k;
        int b = lower_bound(ans.begin() , ans.end() , k) - ans.begin();
        cout << mp[b] << endl;
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...