Submission #290388

#TimeUsernameProblemLanguageResultExecution timeMemory
290388rocks03Lost in the cycle (IOI19_cycle)C++14
100 / 100
2 ms256 KiB
#include <bits/stdc++.h>
#define ll long long
#define pii pair<int, int>
#define pll pair<ll, ll>
#define ff first
#define ss second
using namespace std;

bool jump(int x);

void escape(int N){
    if(!jump(0)){
        jump((N+1)/2);
    }
    ll comeback = 0;
    for(int i = 30; i >= 0; i--){
        if((1ll << i) > N) continue;
        ll dist = (comeback + (1ll<<i)) % N;
        comeback = 0;
        if(jump(dist)){
            continue;
        }
        comeback += N - (1ll<<i);
    }
    if(comeback){
        ll dist = comeback % N;
        jump(dist);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...