Submission #1142904

#TimeUsernameProblemLanguageResultExecution timeMemory
1142904qrnNizovi (COI14_nizovi)C++20
0 / 100
0 ms440 KiB
#include <bits/stdc++.h> using namespace std; #define SPEED ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); #define pb push_back #define ALL(x) x.begin(), x.end() #define sz(x) (intt)x.size() #define intt long long const intt mod = 1e9 + 7; const intt mxN = 200001; const intt mxA = 5e4 + 31; const intt inf = 1e9; void rev(intt l, intt r) { if(l >= r) return; cout << "reverse " << l + 1 << " " << r << endl; } intt cmp(intt l, intt r) { cout << "cmp " << l << " " << r << endl; intt x; cin >> x; return x < 0; } void solve() { intt N1, N2; cin >> N1 >> N2; vector<intt> b(N1); for (int i = 0; i < N1; i++) { int l = N1, r = N1+N2; while (l < r) { int mid = (l + r) / 2; if (cmp(mid, i)) l = mid + 1; else r = mid; } b[i] = l; } intt l = 0, left = N1, last = N1; for (intt i = 0; i < N1; i++) { rev(l + 1, b[i]); rev(l, l + 1 + b[i] - last); l += 1 + b[i] - last; --left; rev(l, l + left); last = b[i]; } cout << "end" << endl; } signed main() { SPEED; intt tst = 1; while (tst--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...