Cod sursa(job #3250036)
Utilizator | Data | 19 octombrie 2024 09:34:39 | |
---|---|---|---|
Problema | Cbinteractiv | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin.tie(0); cin.sync_with_stdio(false);
cin>>n;
int st=1, dr=n, mid=-1, ans=-1, poz=-1;
while (st<=dr) {
mid=(st+dr)/2;
cout<<"? "<<mid; cout.flush();
cin>>ans;
if (ans==0) { //K>x
st=mid+1;
}
else { //K<=X
poz=mid;
dr=mid-1;
}
}
cout<<"! "<<poz;
return 0;
}