Pagini recente » Cod sursa (job #1416899) | Cod sursa (job #716590) | Diferente pentru voronoi intre reviziile 60 si 2 | Cod sursa (job #1182606) | Cod sursa (job #2751010)
#include <bits/stdc++.h>
using namespace std;
int ask(int x) {
cout << "? " << x << '\n';
cout.flush();
int ans;
cin >> ans;
return ans;
}
int main() {
int N;
cin >> N;
int k = 0;
for(int step = (1 << 30); step >= 1; step >>= 1) {
if(step + k <= N && ask(k + step) == 0) {
k += step;
}
}
++k;
cout << "! " << k << '\n';
return 0;
}