Submission #1014594

#TimeUsernameProblemLanguageResultExecution timeMemory
1014594vjudge1Abracadabra (CEOI22_abracadabra)C++17
10 / 100
2658 ms35572 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0; i<n; i++) #define rep2(i,l,r) for(int i=l; i<r; i++) #define all(x) x.begin(),x.end() #define len(x) (int)x.size(); #define fi first #define se second #define elif else if using ll=long long; using pii=pair<int,int>; using pll=pair<ll,ll>; using vi=vector<int>; using vvi=vector<vector<int>>; using vl=vector<ll>; using vvl=vector<vector<ll>>; constexpr ll LINF=1001001001001001001LL; constexpr ll MINF=1001001001001LL; constexpr int INF=1001001001; int N; vi riffle(vi p){ int lf=0; int ri=N/2; vi ret(N); rep(i,N){ if(lf==N/2||(ri!=N&&p[lf]>p[ri])){ ret[i]=p[ri]; ri++; } else{ ret[i]=p[lf]; lf++; } } return ret; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int Q; cin>>N>>Q; vi P(N); rep(i,N)cin>>P[i]; vector<vector<pii>> query(10000); rep(i,Q){ int t,p; cin>>t>>p; query[min(9999,t)].emplace_back(i,p-1); } vi ans(Q); rep(i,10000){ for(auto &[j,p]:query[i]){ ans[j]=P[p]; } P=riffle(P); } for(int i:ans)cout<<i<<"\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...