Submission #1366633

#TimeUsernameProblemLanguageResultExecution timeMemory
1366633warrennColors (BOI20_colors)C++20
0 / 100
0 ms420 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long 
const int maxn=1e5;

int query(int x){
    cout<<"? "<<x<<endl;
    int val; cin>>val;
    return val;
}

signed main(){
    int n; cin>>n;
    vector<int>v;
    int l=1,r=n-1;
    while(l<=r){
        int mid=(l+r)/2;
        v.push_back(mid);
        l=mid+1;
    }

    reverse(v.begin(),v.end());
    int pos=0;
    for(int q=0;q<v.size();q++){
        if(q%2==0)pos+=v[q];
        else pos-=v[q];
    }
    query(pos);
    int cnt=0;
    if(pos-1>n-pos)cnt=1;

    l=1,r=n-1;
    int ans=n;

    while(l<=r){
        int mid=(l+r)/2;
        if(cnt%2==0){
            pos+=mid;
        }
        else{
            pos-=mid;
        }
        cnt++;

        int val=query(pos);
        if(val){
            ans=mid; r=mid-1;
        }
        else{
            l=mid+1;
        }
    }
    cout<<"= "<<ans<<endl;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...