Submission #742103

#TimeUsernameProblemLanguageResultExecution timeMemory
742103LukapNizovi (COI14_nizovi)C++14
90 / 100
158 ms416 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 1e5 + 7; int a,b; int mjesto[MAXN]; int bs (int x, int lo, int hi) { while (lo < hi) { int mid = (lo + hi + 1) / 2; cout << "cmp " << x << ' ' << mid + a << "\n"; cout.flush(); int c; cin >> c; if (c == -1) hi = mid - 1; else lo = mid; } return lo; } int main () { // ios_base::sync_with_stdio (false); // cin.tie (0); cin >> a >> b; for (int i = 1; i <= a; i++) mjesto[i] = bs (i, mjesto[i - 1], b); int lo = 1, hi; for (int i = 1; i <= a; i++) { hi = mjesto[i] + a; if (hi - lo == a - i) { lo++; continue; } cout << "reverse " << lo << ' ' << hi << "\n"; cout.flush (); if ((hi - lo) - (a - i) > 1) { cout << "reverse " << lo << ' ' << hi - a + i - 1 << "\n"; cout.flush (); } if (i < a) { cout << "reverse " << hi - a + i << ' ' << hi << "\n"; cout.flush (); } lo = hi - a + i + 1; } cout << "end"; cout.flush (); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...