제출 #394271

#제출 시각아이디문제언어결과실행 시간메모리
394271KoDColors (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 = (N + 3) / 4;
    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...