Submission #394273

#TimeUsernameProblemLanguageResultExecution timeMemory
394273KoDColors (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; ll pos = 1; { int c = 0; ll x = N - 1; while (x > 1) { x /= 2; pos += c * x; c = 1 - c; } } ll ok = N, ng = 0; int dir = 1; ask(pos); ll last = 0; while (ok - ng > 1) { ll md = (ok + ng) / 2; if ((ok + ng) % 2 == 1 and last == ng) { md += 1; } last = md; pos += dir * md; dir = -dir; (ask(pos) ? ok : ng) = md; } std::cout << "= " << ok << 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...