#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main() {
	int n; cin >> n;
	if (n == 1) {
		cout << "= 1" << endl;
		return 0;
	}
	int x = (n + 2) / 3;
	int l = 1, r = n, ans = n;
	cout << "? " << x << endl;
	bool res; cin >> res;
	bool sign = 1;
	while (l <= r) {
		int m = (l + r) / 2;
		if (m == n) break;
		if (sign == 1) x += m, sign = 0;
		else x -= m, sign = 1;
		cout << "? " << x << endl;
		cin >> res;
		if (res) ans = m, r = m - 1;
		else l = m + 1;
	}
	cout << "= " << ans << endl;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |