This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "prize.h"
#include<bits/stdc++.h>
using namespace std;
const int B = 480;
int find_best(int n) {
int mx = 0;
for(int i = 0; i < min(B, n); i++) {
auto x = ask(i);
if(!(x[0] + x[1])) return i;
if(x[0] + x[1] > mx)
mx = x[0] + x[1];
}
for(int i = 0; i < n; i++) {
auto x = ask(i);
if(!(x[0] + x[1])) return i;
if(x[0] + x[1] == mx) {
int lb = i, rb = n;
while(rb - lb > 1) {
int mid = (lb + rb) / 2;
auto y = ask(mid);
if(y[0] + y[1] < mx) {
rb = mid;
continue;
}
if(y[0] == x[0]) lb = mid;
else rb = mid;
}
i = lb;
}
}
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |