#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
int HC(int n){
int l = 1, r = n;
int prev = -1;
while(l != r){
//cout << l << " - " << r << endl;
int mid = (l + r) >> 1;
int cand = 2 * mid - prev, g;
if(prev == -1) cand = -1;
if(prev == cand) ++cand;
if((prev + cand) / 2 == mid && 1 <= cand && cand <= n){
//cout << "cand is here" << endl;
g = Guess(cand);
if(prev > mid) g = -g;
prev = cand;
}
else{
if(n - r < l - 1){
Guess(l);
g = Guess(r);
prev = r;
}
else{
Guess(r);
g = -Guess(l);
prev = l;
}
}
if(!g) return mid;
if(g == -1) r = mid;
else l = mid + 1;
}
return l;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
22 ms |
1300 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
22 ms |
1228 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
23 ms |
1296 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
666 ms |
8104 KB |
Output is partially correct - alpha = 0.333333333333 |