Submission #786075

#TimeUsernameProblemLanguageResultExecution timeMemory
786075larushIntercastellar (JOI22_ho_t1)C++17
100 / 100
67 ms10812 KiB
#include <bits/stdc++.h>
#define debug(x) (cout<<'['<<(#x)<<':'<<(x)<<']'<<'\n')
using namespace std;
using ll=long long;

int main(){
    ios::sync_with_stdio(0), cin.tie(0);

    int n;
    cin>>n;
    vector<array<ll,2>> a(n);
    vector<ll> pf(n);
    ll s,p;
    for(int i=0; i<n; i++){
        cin>>s;
        p=1;
        while((s&1LL)==0){
            s>>=1;
            p<<=1;
        }
        a[i][0]=p, a[i][1]=s;
        pf[i]=(i ? pf[i-1]+a[i][0] : a[i][0]);
    }
    int q;
    cin>>q;
    while(q--){
        ll xi;
        cin>>xi;
        int l=0, r=n-1;
        while(r>l+1){
            int mid=(l+r)/2;
            if(pf[mid]>=xi) r=mid;
            else l=mid;
        }
        if(pf[l]>=xi) r=l;
        cout<<a[r][1]<<'\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...