This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int query(ll a){
cout<<"? "<<a<<endl;
int b;
cin>>b;
return b;
}
void answer(ll a){
cout<<"= "<<a<<endl;
exit(0);
}
int main(){
int N;
cin>>N;
int ans=query(N/2);
ans=query(1);
if(ans==1){
ans=query(N/2-1);
if(ans==0)answer(N/2-1);
int last=N/2-2;
for(int i=2,j=N/2-2;last>1;i++,j--){
ans=query(i);
if(ans==0)answer(last);
last--;
if(last<=1)break;
ans=query(j);
if(ans==0)answer(last);
last--;
}
answer(1);
}
else{
ans=query(N);
if(ans==0)answer(N);
int last=N-1;
for(int i=2,j=N-1;last>N/2;i++,j--){
ans=query(i);
if(ans==0)answer(last);
last--;
if(last<=N/2)break;
ans=query(j);
if(ans==0)answer(last);
last--;
}
answer(N/2);
}
}
# | 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... |