Submission #704091

#TimeUsernameProblemLanguageResultExecution timeMemory
704091ld_minh4354Intercastellar (JOI22_ho_t1)C++17
100 / 100
72 ms13872 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...