91分求调
查看原帖
91分求调
750689
CNzzc楼主2024/8/26 21:55
#include<bits/stdc++.h>
#define int long long
//#define endl '\n'
#define up(i,j,k,l) for(int i=j;i<=k;i+=l)
#define down(i,j,k,l) for(int i=j;i>=k;i-=l)
using namespace std;
int n;
int l,r,mid;
int e,d,p,ans;
void solve()
{
	cin>>n;
	e=1;
	d=1;	
	l=1;
	r=n-1;
	cout<<"? "<<e<<endl;
	ans=n;
	cin>>p;
	while(l<=r){
		mid=(l+r)>>1;
		e+=d*mid;
		d*=-1;
		cout<<"? "<<e<<endl;
		cin>>p;
		if(p!=0){
			ans=mid;
			r=mid-1;
		}
		else{
			l=mid+1;
		}
	}
	cout<<"= "<<ans<<endl;
	return;	
}
signed main()
{
    //ios::sync_with_stdio(false);
	//cin.tie(0);
	//freopen(".in.in","r",stdin);
	//freopen(".out.out","w",stdout);
	int _=1;
	//cin>>_;
	up(i,1,_,1){
		solve();
	}
	return 0;
}
2024/8/26 21:55
加载中...