#include<bits/stdc++.h>
using namespace std;
using ll=long long;
#include"prize.h"
const ll L=500;
int find_best(int n){
map<ll,ll>C;
for(int i=0;i<L;++i){
vector<int>a=ask(i);
++C[a[0]+a[1]];
if(!a[0]&&!a[1])return i;
}
ll x=0,lik=L-1,br,l,r;
for(auto[u,v]:C)x=max(x,u);
br=L-C[x];
while(1){
l=lik+1,r=n-1;
while(l<=r){
ll m=(l+r)/2;
vector<int>a=ask(m);
if(!a[0]&&!a[1])return m;
else if(a[0]+a[1]==x){
if(a[0]!=br)r=m-1;
else l=m+1;
}else{
lik=m;
r=m-1;
}
}
++br;
}
return -1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |