Cod sursa(job #2751105)

Utilizator richardbaczur1Baczur Richard richardbaczur1 Data 14 mai 2021 11:16:41
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>

using namespace std;

int n;

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

    cin >> ret;
    return ret;
}

int main()
{
    cin >> n;

    int st = 0, dr = n, sol = n;
    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 << endl;

    return 0;
}