Submission #228112

#TimeUsernameProblemLanguageResultExecution timeMemory
228112jzhLost in the cycle (IOI19_cycle)C++14
100 / 100
5 ms512 KiB
#include "cycle.h"
#include <bits/stdc++.h>
using namespace std;
void escape (int n){
    if (n==2){
        jump(1);
        return;
    }
    int hi=n-1,lo=1,mid,x=0,y;
    bool b,b1;
    b1 = jump(0);
    while (hi>lo){
        mid = lo + (hi-lo)/2 + (hi-lo)%2;
        //cout<<mid<<' '<<x;
        y = mid-x;
        if (y<0)y+=n;
        x+=y;//i.e. x = mid
        x%=n;
        //cout<<' '<<x<<' '<<y<<'\n';
        if (jump(y)){
            lo = mid;
            b = true;
        }
        else {
            hi = mid-1;
            b = false;
        }
        //cout<<"Bool: "<<b<<'\n';
    }
    //cout<<lo<<' '<<x<<'\n';
    y = 0;
    if (lo == n-1 && b1)y++;
    if (lo!=x){
        y += lo-x;
        if (y<0)y+=n;
    }
    y%=n;
    if (y!=0)jump(y);
    
}

Compilation message (stderr)

cycle.cpp: In function 'void escape(int)':
cycle.cpp:10:10: warning: variable 'b' set but not used [-Wunused-but-set-variable]
     bool b,b1;
          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...