Submission #1029124

#TimeUsernameProblemLanguageResultExecution timeMemory
1029124amirhoseinfar1385The Big Prize (IOI17_prize)C++17
20 / 100
701 ms1048576 KiB
#include "prize.h"
#include<bits/stdc++.h>
using namespace std;
map<int,pair<int,int>>mp;

pair<int,int>pors(int u){
	if(mp.count(u)==0){
		vector<int>hey=ask(u);
		mp[u]=make_pair(hey[0],hey[1]);
	}
	return mp[u];
}
int mainres=-1;

void solve(int l,int r){
	if(mainres!=-1){
		return ;
	}
	int mid=(l+r)>>1;
	pair<int,int>fake=pors(mid);
	if(fake.first==fake.second&&fake.first==0){
		mainres=mid;
		return ;
	}
	if(fake.second!=0){
		solve(mid+1,r);
	}
	if(fake.first!=0){
		solve(l,mid-1);
	}
}

int find_best(int n) {
	solve(0,n-1);
	return mainres;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...