Pagini recente » Diferente pentru problema/curcubeu intre reviziile 31 si 23 | Cod sursa (job #1030658) | Diferente pentru problema/margele intre reviziile 4 si 7 | Algoritmiada 2012 - Runda 4 | 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;
}