#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |