Submission #1340287

#TimeUsernameProblemLanguageResultExecution timeMemory
1340287JuanJLThe Big Prize (IOI17_prize)C++20
20 / 100
26 ms412 KiB
#include "prize.h"
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

ll cnt = 0;
vector<int> aask(int i ){
	cnt++;
	while(cnt>9990){}
	return ask(i);
}

int find_best(int n) {
	ll i = 0;
	vector<int> ares = {-1,-1};
	while(i<n){
		vector<int> ires = ares;
		ires=aask(i);
		if(ires[0]==0 && ires[1]==0) return i;
		ll l = i; ll r=n-1;
		while(l<=r){
			ll mid=(l+r)/2;
			vector<int> res = aask(mid);
			ares=res;
			//cout<<res[1]<<" <-"<<mid<<'\n';
			if(res[1]<ires[1]||res[1]+res[0]!=ires[1]+ires[0]) r=mid-1;
			else l=mid+1;
		}
		//cout<<i<<" ";
		i=r+1;
		//cout<<i-1<<'\n';
		//cout<<ares[0]<<"-"<<ares[1]<<'\n';
		ares=aask(i);
		if(ares[0]==0 && ares[1]==0) return i;
	}
	while(true){
		
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...