Submission #289161

#TimeUsernameProblemLanguageResultExecution timeMemory
289161Bill_00The Big Prize (IOI17_prize)C++14
0 / 100
104 ms1304 KiB
#include "prize.h"
#include <bits/stdc++.h>
using namespace std;
int ans,m;
int p[200001]={0};
void search(int mid,int l,int r){
	vector<int>res=ask(mid);
	if(res[0]+res[1]==0){
		ans=mid;
		return;
	}
	if(l==r){
		return;
	}
	if(res[0]==0){
		l=mid+1;
		mid=mid+1+r>>1;
		search(mid,l,r);
	}
	if(res[1]==0){
		r=mid-1;
		mid=mid+1+r>>1;
		search(mid,l,r);
	}
	if(res[1]!=0 && res[0]!=0){
		search((l+mid-1)/2,l,mid-1);
		search((mid+1+r)/2,mid+1,r);
	}
}
int find_best(int n){
	m=n;
	/*for(int i = 0; i < n; i++) {
		std::vector<int> res = ask(i);
		if(res[0] + res[1] == 0)
			return i;
	}*/
	int l=0,r=n-1;
	int mid=(l+r)>>1;
	search(mid,l,r);
	return ans;
}

Compilation message (stderr)

prize.cpp: In function 'void search(int, int, int)':
prize.cpp:17:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   17 |   mid=mid+1+r>>1;
      |       ~~~~~^~
prize.cpp:22:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   22 |   mid=mid+1+r>>1;
      |       ~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...