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;
int find_best(int n) {
int y = 0,l,r,m,x,big = 0,z,k;
for(int i = 0; (i+1)*(i+1) <= n; i++) {
vector<int> a = ask(i);
if(a[0] == 0 && a[1] == 0) {
return i;
}
if(a[0]+a[1] > big) {
big = a[0]+a[1];
y = i+1;
}
}
k = 50;
while(y < n) {
vector<int> a = ask(y);
x = a[0];
z = a[1];
l = y;
r = n-1;
if(x+z == 0) {
return y;
}
for(int i = l+k; i < n; i+=k) {
a = ask(i);
if(a[0] == x && a[1] == z) {
l = i;
}
else {
r = i-1;
l = r-k+1;
break;
}
}
while(l < r) {
m = (l+r+1)/2;
a = ask(m);
if(a[0] == x && a[1] == z) {
l = m;
}
else {
r = m-1;
}
}
a = ask(l+1);
if(a[0] == 0 && a[1] == 0) {
return l+1;
}
y = l+2;
}
}
Compilation message (stderr)
prize.cpp: In function 'int find_best(int)':
prize.cpp:54:1: warning: control reaches end of non-void function [-Wreturn-type]
54 | }
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |