Cod sursa(job #2822262)
Utilizator | Data | 23 decembrie 2021 19:14:46 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <iostream>
using namespace std;
int N;
int ask(int val)
{
if (val > N)
return 0;
cout << "? " << val << '\n';
cout.flush();
int r;
cin >> r;
return r;
}
int main()
{
cin >> N;
int K = 0, pas = (1 << 30);
while (pas) {
if (ask(K + pas))
K += pas;
pas /= 2;
}
cout << "! " << K << '\n';
}