Submission #1226179

#TimeUsernameProblemLanguageResultExecution timeMemory
1226179spetrAbracadabra (CEOI22_abracadabra)C++20
10 / 100
3097 ms68220 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll mmod = 998244353; #define vl vector<long long> #define vll vector<vector<long long>> #define pl pair<long long, long long> #define vb vector<bool> int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll n, q; cin >> n >> q; vl nums(n); for (ll i = 0; i < n; i++){cin >> nums[i];} vl ans(q); vll query; for (ll i = 0; i < q; i++){ ll a, b; cin >> a >> b; query.push_back({min(n,a), b, i}); } sort(query.begin(), query.end()); ll t = 0; for(ll i = 0; i < q; i++){ while (t < query[i][0]){ t++; vl new_nums; ll a = 0; ll b = n/2; while (a < n/2 && b < n){ if (nums[a] < nums[b]){ new_nums.push_back(nums[a]); a++; } else{ new_nums.push_back(nums[b]); b++; } } while (a < n/2){new_nums.push_back(nums[a]); a++;} while (b < n){new_nums.push_back(nums[b]), b++;} nums.clear(); nums = new_nums; } if(t == query[i][0]){ ans[query[i][2]] = nums[query[i][1]-1]; } } for (ll i = 0; i < q; i++)cout << ans[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...