Submission #805139

#TimeUsernameProblemLanguageResultExecution timeMemory
805139oviyan_gandhiColors (BOI20_colors)C++14
0 / 100
1 ms208 KiB
#include <bits/stdc++.h>
typedef long long int ll;
using namespace std;

int main(){
    ll n; cin >> n;
    cout << "? 1" << endl;
    bool noticed;
    cin >> noticed;
    ll a = 0, b = n; // a < c <= b
    ll curr = 1;
    while (b-a > 1){
        ll jump = a + (b-a)/2;
        ll nxt;
        if (curr > jump)
            nxt = curr-jump;
        else if (curr+jump > n){
            jump = max(curr-1, n-curr);
            if (curr > n-curr)
                nxt = 1;
            else nxt = n;
        }
        else nxt = curr+jump;
        cout << "? " << nxt << endl;
        cin >> noticed;
        if (noticed)
            b = jump;
        else a = jump;
        curr = nxt;
    }
    cout << "= " << b << 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...