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;
typedef long long ll;
typedef vector<ll> vii;
typedef pair<ll,ll> pii;
#define F first
#define S second
#define all(v) v.begin(),v.end()
#define pb push_back
int find_best(int n) {
ll cur,curind;
cur=curind=0;
for(int i=0;i<min(n,500);i++) {
vector<int>v=ask(i);
if(v[0]+v[1]>=cur) {
cur=v[0]+v[1];
curind=i;
}
if(v[0]+v[1]==0)
return i;
}
for(int i=500;i<n;i++) {
ll l=i,r=n-1,mid;
vector<int>c=ask(i);
if(c[0]+c[1]==0)
return i;
if(c[0]+c[1]<cur)
continue;
ll ind=0;
while(l<=r) {
mid=((l+r)>>1);
vector<int>res=ask(mid);
if(res[0]+res[1]<cur||res[0]>c[0])
r=mid-1;
else
l=mid+1,ind=mid;
}
i=ind;
}
}
Compilation message (stderr)
prize.cpp: In function 'int find_best(int)':
prize.cpp:42:1: warning: control reaches end of non-void function [-Wreturn-type]
42 | }
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |