이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 = (2 * lb + rb) / 3;
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... |