Submission #394269

#TimeUsernameProblemLanguageResultExecution timeMemory
394269KoDColors (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;
    {
        ll x = N - 1;
        int coeff = 0;
        while (x > 1) {
            x = (x + 1) / 2;
            pos += coeff * x;
            coeff = 1 - coeff;
        }
    }
    ll ok = N, ng = 0;
    int dir = 1;
    ask(pos);
    while (ok - ng > 1) {
        const auto md = (ok + ng) / 2;
        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...