Submission #1276228

#TimeUsernameProblemLanguageResultExecution timeMemory
1276228ayhamzaiddMađioničar (COI22_madionicar)C++20
0 / 100
478 ms428 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<ll,ll>
#define fi first
#define se second

const ll N=2e6+5,MOD=1e9+7,INF=1e18;


int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    
    int n;
    cin>>n;
    int mx=1;
    for(int i=1; i<=n; i++){
        int l=1,r=min(i-1,n-i),id=0;
        while(l<=r){
            int mid=(l+r)/2;
            cout<<"? "<<i-mid<<" "<<i+mid<<endl;
            int c;cin>>c;
            if(c){
                l=mid+1;
                id=mid;
            }
            else r=mid-1;
        }
        mx=max(mx,2*id+1);
        if(mx==n){
            cout<<"! "<<mx<<endl;
            return 0;
        }
    }

    for(int i=1; i<n; i++){
        int l=1,r=min(i-1,n-(i+1)),id=0;
        while(l<=r){
            int mid=(l+r)/2;
            cout<<"? "<<i-mid<<" "<<i+mid+1<<endl;
            int c;cin>>c;
            if(c){
                l=mid+1;
                id=mid;
            }
            else r=mid-1;
        }
        mx=max(mx,2*id+2);
        if(mx==n){
            cout<<"! "<<mx<<endl;
            return 0;
        }
    }
    
    cout<<"! "<<mx<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...