This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "cycle.h"
using namespace std;
bool jump(int x);
int pp=5;
void escape(int n) {
int rem=0;
for(int i = n/2 ; i >= 1 ; i/=2) {
//cout << pp << " " << rem << "\n";
if(!jump(i + rem)) {
rem = n - i;
} else rem=0;
}
if(!jump(0)) jump(n-1);
}
/*
//#include "cycle.h"
#include <cstdio>
#include <cassert>
#include <string>
using namespace std;
static const int cnt_lim = 35;
static int n, p, cnt;
[[noreturn]] inline static void wrong_answer(string reason) {
printf("%s\n", reason.c_str());
fclose(stdout);
exit(0);
}
bool jump(int x) {
pp+=x;
pp%=n;
if (x < 0 || x >= n)
wrong_answer("Invalid argument.");
cnt++;
if (cnt > cnt_lim)
wrong_answer("Too many queries.");
p = (p + x) % n;
return (n - p) % n <= n / 2;
}
int main() {
assert(1 == scanf("%d", &n));
assert(1 == scanf("%d", &p));
fclose(stdin);
cnt = 0;
escape(n);
if (p != 0)
wrong_answer("The exit was not found.");
printf("OK\n");
fprintf(stderr, "%d\n", cnt);
fclose(stdout);
return 0;
}*/
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |