Pagini recente » Diferente pentru problema/hidden_points intre reviziile 57 si 63 | Cod sursa (job #3324029) | Diferente pentru problema/hidden_points intre reviziile 19 si 63 | Diferente pentru problema/hidden_points intre reviziile 27 si 63 | Cod sursa (job #3311359)
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int st=1,dr=n,val=0;
while(st<=dr){
int mid=(st+dr)/2;
cout<<"? "<<mid<<'\n';
cout.flush();
int ans;
cin>>ans;
if(ans==-1)
return 0;
else if(ans==0)
st=mid+1;
else
dr=mid-1,val=mid;
}
cout<<"! "<<val<<'\n';
cout.flush();
return 0;
}