Submission #1203870

#TimeUsernameProblemLanguageResultExecution timeMemory
1203870nikolashamiThe Big Prize (IOI17_prize)C++20
90 / 100
20 ms408 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...