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;
mt19937 rng(69420);
int HC(int N){
int l=1, r=N;
while (l<=r){
int mid=(l+r)>>1;
if (l==r) return mid;
if (r-l<10){
while (l<=r){
int mid=(l+r)>>1;
if (l==r) return mid;
Guess(l);
int t=Guess(r);
if (!t) return mid;
if (t==1) l=mid+1;
else r=mid;
}
break;
}
int m1=(l+r)>>1, m2=(l+r+1)>>1;
if (m1==m2) --m1, ++m2;
Guess(m1);
int t=Guess(m2);
if (!t) return mid;
if (t==1){
l=m2;
int t=Guess(r);
mid=(l+r)>>1;
if (!t) return mid;
if (t==1) l=mid+1;
else r=mid;
}else{
r=m2;
int t=-Guess(l);
mid=(l+r)>>1;
if (!t) return mid;
if (t==1) l=mid+1;
else r=mid;
}
}
return -1;
}
# | 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... |