Cod sursa(job #2784374)
| Utilizator | Data | 16 octombrie 2021 13:04:39 | |
|---|---|---|---|
| Problema | Cbinteractiv | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.76 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream fin("a.in");
ofstream fout("b.out");
void c(int st,int dr)
{
while (st<=dr)
{
int med=(st+dr)/2;
cout << "? "<<med<<endl;
int ans;
cin >>ans;
if (ans==1)
{
if (med-1>1)
{
cout << "? "<< med-1<<endl;
cin>>ans;
if (ans==0) {cout <<"! "<< med<<endl;break;}
else
{
st=med+1;
}
}
else {cout <<"! "<<med<<endl;break;}
}
else dr=med-1;
}
}
int main()
{
int n;
cin >>n;
c(1,n);
}