Submission #1051820

#TimeUsernameProblemLanguageResultExecution timeMemory
1051820matereColors (BOI20_colors)C++14
0 / 100
0 ms344 KiB
#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n,resp,it=0;
    cin>>n;
    if(n==2){
        long long r1,r2;
        cout<<"? "<<2<<endl;
        cin>>r1;
        cout<<"? "<<1<<endl;
        cin>>r2;
        if(r2==0) cout<<"= 2";
        else cout<<"= 1";
        return 0;
    }
    if(n==3){
        long long r1,r2,r3;
        cout<<"? "<<2<<endl;
        cin>>r1;
        cout<<"? "<<1<<endl;
        cin>>r2;
        cout<<"? "<<3<<endl;
        cin>>r3;
        if(r3==0) cout<<"= 3";
        else if(r2==0) cout<<"= 2";
        else cout<<"= 1";
        return 0;
    }
    long long l=1,r=n,ls=0;
    long long centr=(n+1)/2;
    while(l+l%2+2<r-r%2){
        long long mid=(l+r)/2;
        if(mid%2==1) mid--;
        cout<<"? "<<centr-mid/2<<endl;
        cin>>resp;
        cout<<"? "<<centr+mid/2<<endl;
        cin>>resp;
        if(resp==1){
            r=mid;
            ls=centr+mid/2;
        }
        else{
            l=mid+1;
        }
    }
    cout<<l<<' '<<r<<endl;
    long long r1,r2,r3,r4,r5;
    cout<<"? "<<centr+(l+3)/2<<endl;
    cin>>r1;
    cout<<"? "<<centr-(l+3)/2<<endl;
    cin>>r2;
    cout<<"? "<<centr+(l+1)/2<<endl;
    cin>>r3;
    cout<<"? "<<centr-(l+1)/2<<endl;
    cin>>r4;
    if(r2==0) cout<<"= "<<r<<endl;
    else if(r3==0) cout<<"= "<<r-1<<endl;
    else if(r4==0) cout<<"= "<<r-2<<endl;
    else cout<<"= "<<r-3<<endl;
}

Compilation message (stderr)

Colors.cpp: In function 'int main()':
Colors.cpp:4:22: warning: unused variable 'it' [-Wunused-variable]
    4 |     long long n,resp,it=0;
      |                      ^~
Colors.cpp:29:23: warning: variable 'ls' set but not used [-Wunused-but-set-variable]
   29 |     long long l=1,r=n,ls=0;
      |                       ^~
Colors.cpp:47:27: warning: unused variable 'r5' [-Wunused-variable]
   47 |     long long r1,r2,r3,r4,r5;
      |                           ^~
#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...