Cod sursa(job #2926521)
Utilizator | Data | 17 octombrie 2022 21:54:17 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
int main() {
int n;
std::cin >> n;
int left = 1, right = n;
while (left <= right) {
int mid = (left + right) / 2;
std::cout << "? " << mid << '\n';
std::cout.flush();
int q;
std::cin >> q;
if (q == 1) {
right = mid;
} else if (q == 0) left = mid + 1;
else if (q == -1) {
return 0;
}
}
std::cout << "! " << left << '\n';
std::cout.flush();
return 0;
}