| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 736317 | beaconmc | Nizovi (COI14_nizovi) | C++14 | 218 ms | 284 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>
//#include <ext/pb_ds/assoc_container.hpp>
//#include <ext/pb_ds/tree_policy.hpp>
typedef int ll;
using namespace std;
//using namespace __gnu_pbds;
#define FOR(i, x, y) for(ll i=x; i<y; i++)
#define FORNEG(i, x, y) for(ll i=x; i>y; i--)
//#define ordered_set tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update>
#define fast() ios_base::sync_with_stdio(false);cin.tie(NULL)
int main(){
  ll a,b;
  cin >> a >> b;
  ll stuff[a];
  FOR(i,0,a){
    ll lo = a+1;
    ll hi = a+b+1;
    cout << "cmp " << i+1 << " " << a+1 << endl;
    ll resp; cin >> resp;
    if (resp == -1){
      stuff[i] = -1;
      continue;
    }
    while (lo < hi){
      ll mid = (hi + lo) / 2;
      cout << "cmp " << i+1 << " " << mid << endl;
      ll resp;
      cin >> resp;
      if (resp<=0){
        hi = mid;
      }else{
        lo = mid+1;
      }
    }
    stuff[i] = lo-1;
  }
  ll cur = a;
  ll pos = 1;
  FOR(i,0,a){
    if (stuff[i] == -1){
      pos += 1;
      cur -= 1;
      continue;
    }
    if (pos < stuff[i]) cout << "reverse " << pos << " " << stuff[i] << endl;
    if (pos < stuff[i]-cur) cout << "reverse " << pos << " " << stuff[i]-cur << endl;
    if (stuff[i]-cur+1 < stuff[i]) cout << "reverse " << stuff[i]-cur+1 << " "<< stuff[i]<< endl;
    cur -= 1;
    pos = stuff[i]-cur+1;
  }
  cout << "end" << endl;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
