Submission #314099

#TimeUsernameProblemLanguageResultExecution timeMemory
314099lukameladzeThe Big Prize (IOI17_prize)C++14
90 / 100
112 ms384 KiB
#include "prize.h" # include <bits/stdc++.h> std::vector<int> res; int le,l,x1,x2,mx,mid,ri,ans; int find_best(int n) { for (int i=0; i<=500; i++) { res=ask(i); if (res[0]+res[1]==0) { return i; } if (res[0]+res[1]>=mx) { mx=res[0]+res[1]; l=i; x1=res[0]; x2=res[1]; } } while (true) { le=l+1; ri=n-1; while (le<=ri) { mid=(le+ri)/2; res=ask(mid); if (res[0]+res[1]==0) { return mid; } if (res[0]+res[1]!=mx) { ans=mid; } if (res[0]==x1 && res[0]+res[1]==mx) { le=mid+1; } else { ri=mid-1; } } for (int i=ans+1; i<n; i++) { res=ask(i); if (res[0]+res[1]==0) { return i; } if (res[0]+res[1]==mx) { l=i; x1=res[0]; break; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...