Submission #874826

#TimeUsernameProblemLanguageResultExecution timeMemory
874826rainboyLost in the cycle (IOI19_cycle)C++17
33 / 100
0 ms344 KiB
#include "cycle.h"

using namespace std;

void escape(int n) {
	if (n == 2)
		jump(n);
	bool b = jump(n / 2), a = jump(n - n / 2); int x_ = 0;
	if (a && b) {
		jump(n / 2);
		return;
	}
	int lower, upper;
	if (a && !b)
		lower = 0, upper = n / 2;
	else
		lower = n / 2, upper = n;
	while (upper - lower > 1) {
		int x = (lower + upper) / 2; bool c = jump((x - x_ + n) % n); x_ = x;
		if (c)
			lower = x;
		else
			upper = x;
	}
	jump((lower - x_ + n) % n);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...