이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "prize.h"
using namespace std;
int ans = -1, num;
void bin(int l, int r, int sl, int sr){
for(int i = l; i <= r; i ++){
int mid = (i + r) / 2;
vector<int> k = ask(mid);
//cout << "//" << mid << " " << l << " " << r << " " << k[0] << " " << k[1] << " " << sl << " " << sr <<endl;
if(k[0] + k[1] == 0){
ans = mid;
return;
}
if(num == k[0] + k[1]){
if(k[0] - sl)bin(l, mid-1, sl, k[1]);
if(sr - k[1])bin(mid+1, r, k[0],sr);
break;
}
}
}
int find_best(int N){
int l = 0;
vector<int> t = {0, 0};
for(int i = 0; i < min(N, 500); i ++){
auto k = ask(i);
if(k[0] + k[1] > t[0] + t[1]){
num = k[0] + k[1];
t = k;
l = i;
}
if(k[0] + k[1] == 0){
return i;
}
}
bin(l, N-1, t[0], t[1]);
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |