Cod sursa(job #2926521)

Utilizator AleXutzZuDavid Alex Robert AleXutzZu 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;
}