Cod sursa(job #3153002)
Utilizator | Data | 27 septembrie 2023 16:58:00 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <bits/stdc++.h>
using namespace std;
void query (int st,int dr,int &k)
{ if(st==dr)
{
k=st;
return;
}
int mid=(st+dr)/2;
cout<<"? "<<mid;
cout<<'\n';
cout.flush();
int ans;
cin>>ans;
if(ans==1)
{
query(st,mid,k);
}
else if(ans==0)
query(mid+1,dr,k);
else return ;
}
int main()
{ int n;
cin>>n;
int afis;
query(1,n,afis);
cout<<"! "<<afis;
return 0;
}