Pagini recente » Diferente pentru moisil-2016 intre reviziile 9 si 7 | Borderou de evaluare (job #1993505) | Diferente pentru problema/dk intre reviziile 27 si 26 | Cod sursa (job #2280984) | Cod sursa (job #2943483)
#include <iostream>
using namespace std;
int n,st,dr,ans,sol;
int main()
{
cin >> n;
st = 1, dr = n;
/// 0 0 0 0 1 1 1 1 1
/// ^
while(st <= dr){
int mid = (st+dr)/2;
cout << "? " << mid << "\n";
cout.flush();
cin >> ans;
if(ans){
sol = mid;
dr = mid-1;
}else{
st = mid+1;
}
}
cout << "! " << sol << "\n";
cout.flush();
return 0;
}