Submission #659989

#TimeUsernameProblemLanguageResultExecution timeMemory
659989jamezzzColors (BOI20_colors)C++17
0 / 100
1 ms256 KiB
#include <bits/stdc++.h>
using namespace std;

#define sf scanf
#define pf printf
#define pb push_back
typedef long long ll;

int ask(ll x){
	cout<<"? "<<x<<endl;
	fflush(stdout);
	int a;cin>>a;
	return a;
}

void ans(ll x){
	cout<<"= "<<x<<endl;
	exit(0);
}

int main(){
	ll n;cin>>n;
	ll lo=1,hi=n-1,mid,res=-1;
	vector<ll> v;
	while(lo<=hi){
		mid=(lo+hi)>>1;
		v.pb(mid);
		lo=mid+1;
	}
	ll cur=1;int m=1;
	for(int i=v.size()-1;i>=0;--i){
		cur+=m*v[i];
		m=-m;
	}
	ask(cur);
	lo=1,hi=n-1;
	while(lo<=hi){
		if(lo==hi&&res==-1){
			res=lo;
			break;
		}
		mid=(lo+hi)>>1;
		cur+=m*mid;
		m=-m;
		if(ask(cur)==1)res=mid,hi=mid-1;
		else lo=mid+1;
	}
	ans(res);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...