Cod sursa(job #3159881)
Utilizator | Data | 22 octombrie 2023 13:40:57 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <iostream>
using namespace std;
int n, x, st, dr, m;
int main(){
cin>>n;
st = 1; dr = n;
do{
m = (st+dr)/2;
cout<<"? "<<m<<"\n"; cout.flush();
cin>>x;
if(st==dr) break;
if(x == -1) return 0;
if(x == 0) st = m+1;
if(x == 1) dr = m;
}while(st<=dr);
cout<<"! "<<m<<"\n"; cout.flush();
}