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 "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;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |