Submission #976703

#TimeUsernameProblemLanguageResultExecution timeMemory
976703Darren0724Abracadabra (CEOI22_abracadabra)C++17
10 / 100
511 ms524288 KiB
#include <bits/stdc++.h>
using namespace std;
#define LCBorz ios_base::sync_with_stdio(false); cin.tie(0);
#define chmin(a,b) a=(a<b?a:b)
#define chmax(a,b) a=(a>b?a:b)
//#define int long long
#define all(x) x.begin(), x.end()
#define endl '\n'
const int N=3005;
const int INF=1e9;

int32_t main() {
    LCBorz;
    int n,q;cin>>n>>q;
    vector<int> v(n),v1;
    for(int i=0;i<n;i++){
        cin>>v[i];
    }
    vector<vector<int>> rec;
    rec.push_back(v);
    while(1){
        int i=0,j=n/2;
        while(i<n/2&&j<n){
            if(v[i]<v[j]){
                v1.push_back(v[i++]);
            }
            else{
                v1.push_back(v[j++]);
            }
        }
        while(i<n/2){
            v1.push_back(v[i++]);
        }
        while(j<n){
            v1.push_back(v[j++]);
        }
        v=v1;
        v1.clear();
        if(rec.back()==v){
            break;
        }
        rec.push_back(v);
    }
    int sz=rec.size();
    for(int i=0;i<q;i++){
        int p,x;cin>>p>>x;
        p=min(sz-1,p);
        cout<<rec[p][x-1]<<endl;
    }
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...