Cod sursa(job #2784338)

Utilizator DordeDorde Matei Dorde Data 16 octombrie 2021 12:47:13
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>

using namespace std;
int query (int pos){
    cout << "? " << pos << '\n';
    cout.flush ();
    int x;
    cin >> x;
    return x;
}
int main()
{
    int n;
    cin >> n;
    int st = 1 , dr = n , ans (-1);
    while (st <= dr){
        int m = (st + dr) / 2;
        int val = query (m);
        if (val == 0)
            st = m + 1;
        if (val == 1)
            dr = m - 1 , ans = m;
    }
    cout << "! " << ans;
    return 0;
}