Submission #508779

#TimeUsernameProblemLanguageResultExecution timeMemory
508779kevinxiehkLost in the cycle (IOI19_cycle)C++17
0 / 100
1 ms256 KiB
#include "cycle.h"

void escape(int n) {
    if(n == 2) {
        jump(1);
        return;
    }
    else if(n == 3) {
        if(!jump(2)) jump(2);
        return;
    }
	int l = 1, r = n - 1;
    int cut = (n + 1) / 2;
    while(l < r) {
        int m = (l + r) / 2;
        int mm = m % n;
        int walk = (cut + n - mm) % n;
        if(jump(walk)) {
            r = m;
        }
        else l = m + 1;

        l += walk;
        r += walk;
    }
    l %= n;
    jump((cut + n - l) % n);
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...