Cod sursa(job #3291722)

Utilizator stanciuvalentinStanciu-Tivlea Valentin Gabriel stanciuvalentin Data 5 aprilie 2025 13:51:39
Problema Cbinteractiv Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

int n;

int query(int x){
    cout<<"? "<<x<<'\n';
    cout.flush();
    cin>>x;
    return x;
}

void patrascu(){
    int p=0;
    for(int i=log2(n); i>=0; i--)
    {
        if(p+(1<<i)<=n)
        {
            int q=query(p+(1<<i));
            if(q==-1)
                return ;
            if(q==0)
                p+=(1<<i);
        }
    }
    cout<<"! "<<p+1<<'\n'; cout.flush();
}

int32_t main()
{
    cin>>n, patrascu();
    return 0;
}