Submission #230091

#TimeUsernameProblemLanguageResultExecution timeMemory
230091dolphingarlicNizovi (COI14_nizovi)C++14
0 / 100
3084 ms384 KiB
#include <bits/stdc++.h> #define FOR(i, x, y) for (int i = x; i < y; i++) typedef long long ll; using namespace std; int cmp(int X, int Y) { cout << "cmp " << X << ' ' << Y << endl; cin >> X; return X; } void rev(int X, int Y) { cout << "reverse " << X << ' ' << Y << endl; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int A, B; cin >> A >> B; for (int A_ptr = 0, B_ptr = 0; A_ptr < A; A_ptr++) { if (cmp(A_ptr + B_ptr + 1, A + B_ptr + 1) == -1) continue; int l = A + B_ptr + 1, r = A + B; while (l != r) { int mid = (l + r) / 2; if (cmp(A_ptr + B_ptr + 1, mid) == -1) r = mid; else l = mid + 1; } if (A_ptr + 1 != A) rev(A_ptr + B_ptr + 1, A + B_ptr); if (A + B_ptr + 1 != l - 1) rev(A + B_ptr + 1, l - 1); rev(A_ptr + B_ptr + 1, l - 1); B_ptr = l - A; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...