#include "prize.h"
int find_best(int n){
for(int l = 0; l < n; ){
std::vector<int> cur = ask(l);
if(cur[0] == 0 && cur[1] == 0) return l;
int low = l, high = n, r = 0;
while(low <= high){
int mid = (low + high) / 2;
std::vector<int> tmp = ask(mid);
if(tmp[0] + tmp[1] != cur[0] + cur[1] || cur[0] != tmp[0]){
high = mid - 1;
}
else{
r = mid;
low = mid + 1;
}
}
l = r + 1;
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |