Submission #143842

#TimeUsernameProblemLanguageResultExecution timeMemory
143842SpeedOfMagicLost in the cycle (IOI19_cycle)C++17
100 / 100
2 ms380 KiB
#include "cycle.h"
#include <iostream>
using namespace std;

static int cur = 0; //current room = cur + p

int N;
bool goTo(int jumpAmountFromStart) {
	int res = (N - cur + jumpAmountFromStart) % N;
	cur = jumpAmountFromStart;
	return jump(res);
}

void escape(int n) {
	N = n;
	int l = 0, r = n - 1;
	while (l < r) {
		int mid = (l + r + 1) >> 1;
		//cout << mid << " " << cur << endl;
		if (goTo(mid))
			l = mid;
		else
			r = mid - 1;
	}
	
	goTo(l);
	//cout << cur << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...