#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
using ll = long long;
#define debug(x) #x << " = " << x << '\n'
int secret = 4;
ll prev_color = -1;
int query(ll x) {
std::cout << "? " << x << std::endl;
// #ifdef LOCAL
// if (prev_color == -1) {
// prev_color = x;
// return 0;
// }
// int ret = std::abs(prev_color - x) >= secret;
// prev_color = x;
// return ret;
// #else
int ret;
std::cin >> ret;
return ret;
// #endif
}
int main() {
#ifdef LOCAL
// freopen("input.txt", "r", stdin);
#endif
// std::ios_base::sync_with_stdio(false);
// std::cin.tie(0);
ll n;
std::cin >> n;
ll answer = n;
ll l = 1, r = n - 1;
while (l <= r) {
ll mid = (l + r) / 2;
query(1);
if (query(mid + 1) == true) { // C <= mid
answer = mid;
r = mid - 1;
} else {
l = mid + 1;
}
}
std::cout << "= " << answer << std::endl;
return 0;
}
# | 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... |