Cod sursa(job #2751104)

Utilizator richardbaczur1Baczur Richard richardbaczur1 Data 14 mai 2021 11:12:15
Problema Cbinteractiv Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>

using namespace std;

int n;

int query(int x)
{
    int ret;
    cout << "? " << x;
    cout.flush();

    cin >> ret;
    return ret;
}

int main()
{
    cin >> n;

    int st = 0, dr = n, sol;
    while (st <= dr)
    {
        int mid = (st + dr) / 2;
        int status = query(mid);
        if (status == 0)
        {
            st = mid + 1;
        }
        else if (status == 1)
        {
            dr = mid - 1;
            sol = mid;
        }
        else
        {
            return -1;
        }
    }

    cout << "! " << sol << '\n';
    cout.flush();

    return 0;
}