Pagini recente » Diferente pentru problema/isecv intre reviziile 6 si 3 | Borderou de evaluare (job #1683739) | Profil RaduGabriel2012 | Profil RaduGabriel2012 | Cod sursa (job #3323974)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin >> N;
int le = 1, ri = N;
int ans = 0;
while(le <= ri) {
int mid = (le + ri) / 2;
cout << "? " << mid << endl;
int t;
cin >> t;
if(t == 0) {
le = mid + 1;
}
else if(t == 1) {
ri = mid - 1;
ans = mid;
}
else {
return 0;
}
}
cout << "! " << ans << "\n";
return 0;
}