Pagini recente » Diferente pentru problema/vagoane intre reviziile 34 si 33 | Cod sursa (job #151524) | Cod sursa (job #1169514) | Monitorul de evaluare | Cod sursa (job #3250036)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin.tie(0); cin.sync_with_stdio(false);
cin>>n;
int st=1, dr=n, mid=-1, ans=-1, poz=-1;
while (st<=dr) {
mid=(st+dr)/2;
cout<<"? "<<mid; cout.flush();
cin>>ans;
if (ans==0) { //K>x
st=mid+1;
}
else { //K<=X
poz=mid;
dr=mid-1;
}
}
cout<<"! "<<poz;
return 0;
}