Submission #1156701

#TimeUsernameProblemLanguageResultExecution timeMemory
1156701PwoColors (BOI20_colors)C++20
100 / 100
1 ms408 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

int32_t main() {
	int n; cin >> n;
	
	int sign = 1;
	int l = 1, r = n - 1, x = 0, mn = 0;
	while (l <= r) {
		int m = (l + r) / 2;
		x += m * sign;
		sign *= -1;
		mn = min(mn, x);
		if (x >= n) r = m;
		else l = m + 1;
	}
	
	x = -mn + 1;
	l = 1, r = n - 1; int ans = n;
	cout << "? " << x << endl;
	int res; cin >> res;
	sign = 1;
	while (l <= r) {
		int m = (l + r) / 2;
		if (m == n) break;
		x += m * sign;
		sign *= -1;
		cout << "? " << x << endl;
		cin >> res;
		if (res) ans = m, r = m - 1;
		else l = m + 1;
	}
	cout << "= " << ans << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...