Cod sursa(job #2784338)
Utilizator | Data | 16 octombrie 2021 12:47:13 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <iostream>
using namespace std;
int query (int pos){
cout << "? " << pos << '\n';
cout.flush ();
int x;
cin >> x;
return x;
}
int main()
{
int n;
cin >> n;
int st = 1 , dr = n , ans (-1);
while (st <= dr){
int m = (st + dr) / 2;
int val = query (m);
if (val == 0)
st = m + 1;
if (val == 1)
dr = m - 1 , ans = m;
}
cout << "! " << ans;
return 0;
}