#include<bits/stdc++.h>
#define MAXN 1000007
using namespace std;
struct query{
    int t,pos;
}s[MAXN];
int n,qs,p[MAXN],q[MAXN];
bool transform(){
    int pt=n/2+1,m=0;
    for(int i=1;i<=n/2;i++){
        while(pt<=n and p[pt]<p[i]){
            m++; q[m]=p[pt]; pt++;
        }
        m++; q[m]=p[i];
    }
    while(pt<=n){
        m++; q[m]=p[pt]; pt++;
    }
    bool ok=false;
    for(int i=1;i<=n;i++){
        if(p[i]!=q[i])ok=true;
        p[i]=q[i];
    }
    return ok;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>qs;
    for(int i=1;i<=n;i++){
        cin>>p[i];
    }
    for(int i=1;i<=qs;i++){
        cin>>s[i].t>>s[i].pos;
    }
    for(int i=1;i<=s[1].t;i++){
        if(!transform())break;
    }
    for(int i=1;i<=qs;i++){
        cout<<p[s[i].pos]<<"\n";
    }
    return 0;
}
| # | 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... |