Cod sursa(job #2784511)
| Utilizator | Data | 16 octombrie 2021 16:47:22 | |
|---|---|---|---|
| Problema | Cbinteractiv | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int n, contor=true;
cin >> n;
int stanga, dreapta, mijloc;
stanga=1;
dreapta=n;
while(stanga<=dreapta && contor)
{
mijloc=(stanga+dreapta)/2;
cout <<"? "<< mijloc << endl;
int raspuns;
cin >> raspuns;
if(raspuns==1)
{
cout <<"? "<< mijloc-1 << endl;
cin >> raspuns;
if(raspuns==0)
{
cout <<"! "<< mijloc;
contor=false;
}
else
{
stanga=1;
dreapta=mijloc-2;
}
}
else
{
stanga=mijloc+1;
dreapta=n;
}
}
}