Submission #508780

#TimeUsernameProblemLanguageResultExecution timeMemory
508780kevinxiehkLost in the cycle (IOI19_cycle)C++17
11 / 100
1 ms200 KiB
#include "cycle.h"
#include "bits/stdc++.h"
using namespace std;
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 + 1) / 2;
        int mm = m % n;
        cerr << l << ' ' << r << '\n';
        cerr << mm << ' ';
        int walk = (cut + n - mm) % n;
        cerr << walk << '\n';
        if(jump(walk)) {
            l = m;
            cerr << "a\n";
        }
        else {
            r = m - 1;
        }

        l += walk;
        r += walk;
    }
    cerr << l << " now\n";
    l %= n;
    jump(n - l);
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...