Pagini recente » Cod sursa (job #506143) | Istoria paginii problema/conexidad | Borderou de evaluare (job #587081) | Diferente pentru problema/viteza2 intre reviziile 19 si 20 | Cod sursa (job #2757659)
#include <iostream>
using namespace std;
int N;
int main()
{
cin >> N;
int le = 1, ri = N;
int best;
while(le <= ri) {
int mid = (le + ri) / 2;
cout << "? " << mid << "\n";
cout.flush();
int x;
cin >> x;
if(x == 0) {
le = mid + 1;
}
else {
best = mid;
ri = mid - 1;
}
}
cout << "! " << best << "\n";
cout.flush();
return 0;
}