Submission #659029

#TimeUsernameProblemLanguageResultExecution timeMemory
659029inksamuraiColors (BOI20_colors)C++17
9 / 100
1 ms464 KiB
#include <bits/stdc++.h>
#define int ll
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define rng(i,c,n) for(int i=c;i<n;i++)
#define fi first
#define se second
#define sz(a) (int)a.size()
#define vec(...) vector<__VA_ARGS__>
#define _3fm6nhZ ios::sync_with_stdio(0),cin.tie(0)
typedef long long ll;
void print(){cout<<'\n';}
template<class h,class...t>
void print(const h&v,const t&...u){cout<<v<<' ',print(u...);}

// int c=2;

void answer(int n){
	cout<<"= "<<n<<endl;
	exit(0);
}

int _lst=-1;

int ask(int n){
	cout<<"? "<<n<<endl;
	// int x=(_lst==-1?-1:abs(n-_lst)>=c);
	int x;
	cin>>x;
	return x;
}

signed main(){
_3fm6nhZ;
	int n;
	cin>>n;
	if(n<=64){
		for(int i=1;i<=n;i++){
			if(i>n-i+1) break;
			int c0=ask(i);
			if(!c0 and i>1){
				answer(abs(i-_lst)+1);
			}
			_lst=i;
			if(i!=n-i+1){
				int c1=ask(n-i+1);
				// print(c1,_lst);
				if(!c1){
					answer(abs(n-i+1-_lst)+1);
				}
				_lst=n-i+1;
			}
		}
		answer(1);
	}else{
		assert(0);
		// int l=1,r=
		// while(l<=r){

		// }
	}

}
#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...