QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#404693#6394. Turn on the Lighthanmx#WA 0ms3540kbC++23664b2024-05-04 14:46:032024-05-04 14:46:05

Judging History

你现在查看的是最新测评结果

  • [2024-05-04 14:46:05]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3540kb
  • [2024-05-04 14:46:03]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
using ll =long long;
ll ask(ll d)
{
    cout<<"? "<<d<<endl;
    ll n;
    cin>>n;
    return n;
}
void solve()
{
    ll n;
    cin>>n;
    ll l=1,r=n+1;
    ll t=0;
    while(l<=r)
    {
        ll mid=(l+r)>>1;
        ll d=ask(mid);
        if(d==t)
        {
            cout<<"! "<<mid<<endl;
            return;
        }else  if(d>t)
        {
            l=mid+1;
        }else{
            r=mid-1;
        }
        t=d;
        //cout<<l<<" "<<r<<" "<<t<<"\n";
    }
}
int main(){
    ll t=1;
    //cin>>t;
    while(t--)
    {
        solve();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3532kb

input:

3
1
1

output:

? 2
? 3
! 3

result:

ok Correct position at 3

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3540kb

input:

10
1
2
3

output:

? 6
? 9
? 10
? 11

result:

wrong answer Integer parameter [name=x] equals to 11, violates the range [1, 10]