Pagini recente » Monitorul de evaluare | Diferente pentru template/algoritmiada-2009/header intre reviziile 15 si 16 | Monitorul de evaluare | Cod sursa (job #2699685) | Cod sursa (job #3163080)
#include <iostream>
int main() {
int x;
std::cin >> x;
int ret = -1;
int l = 1, r = x;
while (l<=r) {
int m = (l+r)>>1;
std::cout << "? " << m << "\n";
int resp;
std::cin >> resp;
if (resp==-1) {
return 0;
}
if (resp==0) {
l = m+1;
}
if (resp==1) {
ret = m;
r = m-1;
}
}
std::cout << "! " << ret << "\n";
}