#include "cycle.h"
#include <bits/stdc++.h>
using namespace std;
void escape(int n) {
auto ds = [&](int x) { return (x + n) % n; };
if (n == 2) {
jump(ds(0 - 1)); return;
}
if (jump(0)) {
int lw = 2, hg = ds(1 - (n + 1) / 2);
int u = 0;
while (lw < hg) {
int md = (lw + hg) / 2;
int v = md;
if (!jump(ds(v - u))) hg = md;
else lw = md + 1;
u = v;
}
jump(ds(0 - u)), jump(lw - 1);
} else {
int lw = 1, hg = ds((n + 1) / 2 - 1);
int u = 0;
while (lw < hg) {
int md = (lw + hg) / 2;
int v = md;
if (jump(ds(v - u))) hg = md;
else lw = md + 1;
u = v;
}
jump(ds(0 - u)), jump(lw), jump(ds(0 - (n + 1) / 2));
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |