Cod sursa(job #3293967)
Utilizator | Data | 14 aprilie 2025 15:33:02 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <iostream>
using namespace std;
int n, k, q;
int main()
{
cin >> n;
int st = 1, dr = n;
while (st <= dr) {
int k = (st + dr) / 2;
if (st == dr)
{
cout << "! " << k << '\n';
cout.flush();
return 0;
}
cout << "? " << k << '\n';
cout.flush();
cin >> q;
switch (q) {
case 0:
st = k + 1;
break;
case 1:
dr = k;
break;
}
}
}