Submission #576189

#TimeUsernameProblemLanguageResultExecution timeMemory
576189DeepessonIntercastellar (JOI22_ho_t1)C++17
100 / 100
100 ms9124 KiB
#include <bits/stdc++.h>
using ll = long long;
typedef std::pair<ll,ll> pll;
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    std::cout.tie(0);
    int N;
    std::cin>>N;
    ll seg[N]={};
    ll val[N];
    for(int i=0;i!=N;++i){
        ll x;
        std::cin>>x;
        ll uns=0;
        while(!(x%2)){
            ++uns;
            x/=2;
        }
        ll vezes = 1LL<<uns;
        if(i)seg[i]=seg[i-1];
        seg[i]+=vezes;
        val[i]=x;
    }
    int Q;
    std::cin>>Q;
    for(int i=0;i!=Q;++i){
        ll X;
        std::cin>>X;
        ll l=0,r=N-1;
        while(l<r){
            ll m = (l+r)/2;
            if(seg[m]>=X){
                r=m;
            }else l=m+1;
        }
        std::cout<<val[l]<<"\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...