Cod sursa(job #2789925)
Utilizator | Data | 28 octombrie 2021 10:23:59 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int l = 1;
int r = n;
int ans = -1;
int mid;
while (l <= r)
{
if (ans == 1)
{
r = mid;
}
else if (ans == 0)
{
l = mid + 1;
}
if (l == r)
{
cout << "! " << l << "\n";
break;
}
mid = (l + r) / 2;
cout << "? " << mid << "\n";
cout.flush();
cin >> ans;
}
return 0;
}