#include "grader.h"
#include<iostream>
int HC(int n){
if (n == 1)
return 0;
int l, r, mid = (n + 1) / 2, pre = mid + 1;
Guess(mid);
if (Guess(mid + 1) == 1)
l = mid + 1, r = n;
else
l = 1, r = mid;
while (l < r){
//std::cerr << l << ' ' << r << ' ' << pre << std::endl;
mid = (l + r) >> 1;
int nxt = 2 * mid - pre;
if (nxt < 1)
nxt = 1;
if (nxt > n)
nxt = n;
mid = (pre + nxt) / 2;
int x = Guess(nxt);
if (x == 0)
return mid;
if (pre < nxt){
if (x == 1)
l = mid;
else
r = mid;
} else {
if (x == 1)
r = mid;
else
l = mid;
}
pre = nxt;
}
return l;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
10043 ms |
1228 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
10045 ms |
1228 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
10068 ms |
1228 KB |
Time limit exceeded |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
10087 ms |
15172 KB |
Time limit exceeded |