Submission #1248591

#TimeUsernameProblemLanguageResultExecution timeMemory
1248591em4ma2Abracadabra (CEOI22_abracadabra)C++20
0 / 100
3092 ms4588 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define ll long long //#define int long long const ll mod=1e9+7; const int mxsz=5e2; const ll inf = LLONG_MAX; int main(){ int n,q; cin>>n>>q; vector<int>a(n); for (int i=0;i<n;i++){ cin>>a[i]; } int x=log2(n); while (q--){ int t,ind; cin>>t>>ind; vector<int>c=a; t=min(t,x); while (t--){ vector<int>cur1,cur2,tmp; for (int i=0;i<n/2;i++){ cur1.pb(c[i]); } for (int i=n/2;i<n;i++){ cur2.pb(c[i]); } if (cur1[0]>cur2[0]){ int i=0; while (i<n/2 && cur2[i]<cur1[0]){ tmp.pb(cur2[i]); i++; } for (int x:cur1){ tmp.pb(x); } for (int x=i;x<n/2;x++)tmp.pb(cur2[x]); }else{ int i=0; while (i<n/2 && cur1[i]<cur2[0]){ tmp.pb(cur1[i]); i++; } for (int x:cur2){ tmp.pb(x); } for (int x=i;x<n/2;x++)tmp.pb(cur1[x]); } c=tmp; } cout<<c[--ind]<<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...