This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define pb push_back
#define debug(x) cout<<#x<<": "<<x<<"\n"
signed main()
{
ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
// freopen("input.000","r",stdin);
// freopen("output.000","w",stdout);
// srand((unsigned)time(NULL));
// rand()
int n,q,i,l[200005],f[200005],ans[200005],ptr,sum;
pair<int,int> p[200005];
cin>>n;
for (i=1;i<n+1;i++) cin>>l[i];
cin>>q;
for (i=1;i<q+1;i++)
{
cin>>p[i].fi;
p[i].se=i;
}
sort(p+1,p+q+1);
for (i=1;i<n+1;i++)
{
f[i]=1;
while (l[i]%2==0)
{
l[i]/=2;
f[i]*=2;
}
}
ptr=1;sum=0;
for (i=1;i<n+1;i++)
{
sum+=f[i];
while (ptr<=q and p[ptr].fi<=sum)
{
// cout<<i<<" "<<ptr<<"\n";
ans[p[ptr].se]=l[i];
ptr++;
}
}
for (i=1;i<q+1;i++) cout<<ans[i]<<"\n";
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |