Submission #410075

#TimeUsernameProblemLanguageResultExecution timeMemory
410075dreezyThe Big Prize (IOI17_prize)C++17
20 / 100
94 ms328 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; /*********************************************************************************************************************/ int find_best(int n) { int curtotal = -1; for(int i =0; i<10; i++){ vector<int> res= ask(n/10 *i); if( !res[0] && !res[1]) return n/10 *i; curtotal = max(curtotal,res[0] +res[1]); } //cout <<":"<<curtotal<<endl; set<int> targets; for(int i =1; i<=curtotal; i++){ targets.insert(i); } int left = 0, right = n-1; int target = *targets.begin(); while(true){ int ind = (left +right) /2 ; vector<int> res = ask(ind); if(res[0] + res[1] == 0) return ind; if(res[0] + res[1] < curtotal){ ind++; continue; } if(res[0] < target){ left = ind +1; } else{ right = ind - 1; } } return 0; } /*********************************************************************************************************************/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...