Cod sursa(job #2789924)

Utilizator qubitrubbitQubit Rubbit qubitrubbit Data 28 octombrie 2021 10:19:31
Problema Cbinteractiv Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int l = 1;
    int r = n;
    int ans = -1;
    int mid;
    while (l <= r)
    {
        if (ans == 1)
        {
            r = mid;
        }
        else if (ans == 0)
        {
            l = mid + 1;
        }
        if (l == r)
        {
            cout << "! " << l << "\n";
        }
        mid = (l + r) / 2;
        cout << "? " << mid << "\n";
        cout.flush();
        cin >> ans;
    }
    return 0;
}