remote交到cf uke了
因为问题太水了所以来灌水区问了
#include<bits/stdc++.h>
using namespace std;
int n;
inline int Ask(int x,int y){
printf("? %d %d",x,y);
fflush(stdout);
int p;
scanf("%d",&p);
return p;
}
inline void write(int x){
printf("! %d",x);
fflush(stdout);
return ;
}
int main(){
scanf("%d",&n);
int l=1,r=n;
int mid;
while(l<r){
mid=Ask(l,r);
if(r-l+1==2)break;
if(Ask(l,mid)==mid)l=mid+1;
else r=mid;
}
write(mid);
return 0;
}