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 mxN = 200005;
int ans = -1;
// vector<int> ask(int i) {
// int a, b;
// cout << i << "\n";
// scanf("%d %d", &a, &b);
// return {a, b};
// }
void search(int st, int en) {
if(ans > -1) return;
if(st > en) return;
int md = (st+en)/2;
vector<int> p = ask(md);
if(p[0] == 0 && p[1] == 0) {
ans = md;
return;
} else if(p[1] == 0)
search(st, md-1);
else if(p[0] == 0)
search(md+1, en);
else {
search(st, md-1);
search(md+1, en);
}
}
int find_best(int n) {
search(0, n-1);
return ans;
}
// int main() {
// int n;
// scanf("%d", &n);
// printf("%d\n", find_best(n));
// return 0;
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |