제출 #706236

#제출 시각아이디문제언어결과실행 시간메모리
706236vjudge1Nizovi (COI14_nizovi)C++17
30 / 100
59 ms416 KiB
#include <bits/stdc++.h>
// #define endl '\n'
#define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define int ll
typedef long long ll;
using namespace std;
const int N = 2e5 + 10;
int n, m;
signed main() {
    FAST;
    cin >> n >> m;
    int idx = n + 1;
    int left = n + 1, right = m + n;
    while(idx--) {
        if(idx == 0) {
            cout << "end" << endl;
            return 0;
        }
        int l = left, r = right;
        while(l < r) {
            int mid = (l + r) / 2;
            cout << "cmp " << idx << ' ' << mid << endl;
            int x; cin >> x;
            if(x == 1) l = mid + 1;
            else r = mid - 1;
        }
        if(idx < l) {
            cout << "cmp " << idx << ' ' << l << endl;
            int x; cin >> x;
            if(x == 1) {
                for(int i = idx; i < l; i++) cout << "reverse " << i << ' ' << i + 1 << endl;
                right = l - 1;
                left = min(left, idx);
            }
            else {
                for(int i = idx; i < l - 1; i++) cout << "reverse " << i << ' ' << i + 1 << endl;
                right = l - 2;
                left = min(left, idx);
            }
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...