Submission #994343

#TimeUsernameProblemLanguageResultExecution timeMemory
994343biankAbracadabra (CEOI22_abracadabra)C++14
10 / 100
416 ms524292 KiB
#include <bits/stdc++.h>

using namespace std;

#define sz(x) int(x.size())
#define all(x) begin(x),end(x)
#define forsn(i,s,n) for(int i=int(s);i<int(n);i++)
#define forn(i,n) for(int i=0;i<int(n);i++)
#define dforsn(i,s,n) for(int i=int(n)-1;i>=int(s);i--)
#define dforn(i,n) for(int i=int(n)-1;i>=0;i--)
#define dbg(x) cerr<<#x<<": "<<x<<endl

#define pb push_back

typedef vector<int> vi;

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    int n,q;
    cin>>n>>q;
    vector<vi> p(1,vi(n));
    forn(i,n) cin>>p[0][i];
    while(true){
        int i=0,j=n/2;
        vi v(n);
        forn(k,n){
            if(i<n/2&&(j>=n||p.back()[i]<p.back()[j])) v[k]=p.back()[i++];
            else v[k]=p.back()[j++];
        }
        if(v==p.back()) break;
        p.pb(v);
    }
    while(q--){
        int t,i;
        cin>>t>>i;
        --i,t=min(t,sz(p)-1);
        cout<<p[t][i]<<'\n';
    }
    
    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...