#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
long long n;
cin>>n;
long long l=1,r=n-1,ans=n,pos=1;
vector<long long> vi;
while(l<=r)
{
long long mid=(l+r)/2;
vi.push_back(mid),l=mid+1;
}
reverse(vi.begin(),vi.end());
for(int i=0;i<vi.size();i++) if(i%2==0) pos+=vi[i];
else pos-=vi[i];
cout<<"? "<<pos<<endl;
fflush(stdout);
string res;
cin>>res;
l=1,r=n-1;
int cnt=0;
if(pos-1<n-pos) cnt=1;
while(l<=r)
{
long long mid=(l+r)/2;
long long p=pos;
if((++cnt)%2==0) p+=mid;
else p-=mid;
cout<<"? "<<p<<endl;
fflush(stdout);
cin>>res;
if(res=="1") r=mid-1,ans=mid;
else l=mid+1;
pos=p;
}
cout<<"= "<<ans<<endl;
fflush(stdout);
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |