Submission #1234538

#TimeUsernameProblemLanguageResultExecution timeMemory
1234538tapilyocaAbracadabra (CEOI22_abracadabra)C++20
10 / 100
797 ms589824 KiB
/*********************************************** * auth: tapilyoca * * date: 07/07/2025 at 22:42:20 * * dots: https://github.com/tapilyoca/dotilyoca * ***********************************************/ #include <bits/stdc++.h> using namespace std; const long long MOD = 1e9+7; template<typename T> using vec = vector<T>; using ll = long long; using vll = vec<ll>; using vvll = vec<vll>; using pll = pair<ll,ll>; using str = string; #define pb push_back #define dbg(x) if(1) cerr << #x << ": " << x << endl; /***********************************************/ vll riffle(vll &at) { vll a, b; ll n = at.size(); for(int i = 0; i < n/2; i++) { a.pb(at[i]); } for(int j = n/2; j < n; j++) { b.pb(at[j]); } vll out; ll lp = 0, rp = 0; while(lp != n/2 and rp != n/2) { if(a[lp] < b[rp]) { out.pb(a[lp]); lp++; } else { out.pb(b[rp]); rp++; } } for(int i = lp; i < n/2; i++) out.pb(a[i]); for(int i = rp; i < n/2; i++) out.pb(b[i]); return out; } void solve() { ll n, q; cin >> n >> q; vvll state(n+1, vll(n,0)); for(int i = 0; i < n; i++) { cin >> state[0][i]; } for(int i = 1; i <= n; i++) { state[i] = riffle(state[i-1]); } while(q--) { ll t, x; cin >> t >> x; x--; t = min(n,t); cout << state[t][x] << endl; } } int main() { ios::sync_with_stdio(false); cin.tie(NULL); int t = 1; while(t--) { solve(); } 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...