# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1095689 | Sharky | Abracadabra (CEOI22_abracadabra) | C++17 | 766 ms | 524288 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int n, q;
cin >> n >> q;
vector<int> a(n);
for (auto& x : a) cin >> x;
vector<vector<int>> h;
h.push_back(a);
for (int i = 0; i < n; i++) {
vector<int> x, y, res;
for (int j = 0; j < n / 2; j++) x.push_back(a[j]);
for (int j = n / 2; j < n; j++) y.push_back(a[j]);
int px = 0, py = 0;
while (px < n / 2 || py < n / 2) {
if (px == n / 2) res.push_back(y[py++]);
else if (py == n / 2) res.push_back(x[px++]);
else if (x[px] < y[py]) res.push_back(x[px++]);
else res.push_back(y[py++]);
}
bool chg = 0;
for (int j = 0; j < n; j++) if (res[j] != a[j]) chg = true;
if (!chg) break;
h.push_back(res);
a.swap(res);
}
while (q--) {
int t, id;
cin >> t >> id;
--id;
if (t >= h.size()) cout << h.back()[id] << '\n';
else cout << h[t][id] << '\n';
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |