Submission #394308

#TimeUsernameProblemLanguageResultExecution timeMemory
394308KoDColors (BOI20_colors)C++17
0 / 100
1 ms200 KiB
#include <bits/stdc++.h> using ll = long long; bool ask(const ll x) { std::cout << "? " << x << std::endl; bool f; std::cin >> f; return f; } int main() { ll N; std::cin >> N; assert(N <= 125); if (N == 2) { ask(1); const auto ans = (ask(2) ? 1 : 2); std::cout << "= " << ans << std::endl; return 0; } ll half = (N - 1) / 2; ll other = (N - 1) - half; ll pos = 1 + (other + 1) / 2; ask(pos); pos += half; if (ask(pos)) { ll len = half; ll dir = -1; while (--len > 0) { pos += dir * len; dir *= 1; if (!ask(pos)) { break; } } std::cout << "= " << len + 1 << std::endl; } else { ll len = half; ll dir = -1; while (++len < N) { pos += dir * len; dir *= -1; if (ask(pos)) { break; } } std::cout << "= " << len << std::endl; } return 0; }
#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...