Submission #427537

#TimeUsernameProblemLanguageResultExecution timeMemory
427537HazemThe Big Prize (IOI17_prize)C++14
90 / 100
147 ms1212 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; map<int,vector<int>>mp; int find_best(int n) { vector<int>cur = ask(0); int idx = 0; if(!cur[0]&&!cur[1]) return 0; while(1){ int l = idx,r = min(n-1,idx+900); while(l<r){ int mid = (l+r+1)/2; vector<int>vec; if(mp.find(mid)!=mp.end()) vec = mp[mid]; else vec = ask(mid); mp[mid] = vec; if(vec==cur)l = mid; else r = mid-1; } cur = ask(l+1); idx = l+1; assert(idx<n); if(!cur[0]&&!cur[1]) return idx; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...