Submission #1302371

#TimeUsernameProblemLanguageResultExecution timeMemory
1302371Faisal_SaqibAbracadabra (CEOI22_abracadabra)C++20
10 / 100
832 ms8248 KiB
#include <bits/stdc++.h>

using namespace std;

const int N=1e3+10;
int p[N],q[N],n;
int ans[N][N];
bool doop()
{
	int l=0,r=n/2;
	for(int i=0;i<n;i++)
	{
		if(l<n/2 and r<n)
		{
			if(p[l]<p[r])
			{
				q[i]=p[l];
				l++;
			}
			else{
				q[i]=p[r];
				r++;
			}
		}
		else if(l<(n/2))
		{
			q[i]=p[l];
			l++;
		}
		else
		{
			q[i]=p[r];
			r++;
		}
	}
	int ch=0;
	for(int i=0;i<n;i++)
	{
		ch+=(p[i]!=q[i]);
		p[i]=q[i];
	}
	return (ch>0);
}
int main() {
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int q;
	cin>>n>>q;
	for(int i=0;i<n;i++)cin>>p[i];
	for(int i=0;i<=n;i++)
	{
		for(int j=0;j<n;j++)
		{
			ans[i][j+1]=p[j];
			// cout<<p[j]<<' ';
		}
		// cout<<endl;
		doop();
	}
	while(q--)
	{
		int t,i;
		cin>>t>>i;
		cout<<ans[min(t,n)][i]<<endl;
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...