이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
map <std::pair <int, int>, int> mp,mp2;
int HC(int N){
mp.clear();
mp2.clear();
int l=1,r=N,kq=N,val;
int last=N;
val=Guess(N);
while (l<r){
if (mp2.count({l,r})){
val=Guess((last<l?l:r));
last=(last<l?l:r);
}
mp2[{l,r}]=1;
int mid=l+r-last;
mid=std::max(mid,1);
mid=std::min(mid,N);
val=(mp.count({last,mid})?mp[{last,mid}]:Guess(mid));
int ch=(mp.count({last,mid}));
mp[{last,mid}]=val;
mp[{mid,last}]=-val;
if (val==0)
return (mid+last)/2;
if (val==1){
if (last<mid)
l=(last+mid+1)/2;
else{
r=(last+mid-1)/2;
kq=r;
}
if (!ch)
last=mid;
continue;
}
if (last<mid){
r=(last+mid-1)/2;
kq=r;
}
else
l=(last+mid+1)/2;
if (!ch)
last=mid;
}
return kq;
}
# | 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... |