QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#574659#6394. Turn on the LightGammaRaysWA 1ms3736kbC++23901b2024-09-18 23:37:482024-09-18 23:37:51

Judging History

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

  • [2024-09-18 23:37:51]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3736kb
  • [2024-09-18 23:37:48]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;

int tag;

void solve(int l,int r,int lst)
{
    if(tag==1)
    {
        return;
    }
    int mid,x,y;
    mid=(l+r)>>1;
    if(l==r)
    {
        tag=1;
        cout<<"! "<<r;
        cout.flush();
        return;
    }
    
    cout<<"? "<<mid<<"\n";
    cin>>x;
    cout.flush();
    if(x==lst)
    {
        tag=1;
        cout<<"! "<<mid;
        cout.flush();
        return;
    }
    
    cout<<"? "<<r<<"\n";
    cin>>y;
    cout.flush();
    if(y==x)
    {
        tag=1;
        cout<<"! "<<r;
        cout.flush();
        return;
    }
    cout<<x<<" "<<y<<endl;
    if(x<y)
    {
        solve(l,max(l,mid-1),y);
    }
    else
    {
        solve(min(r-1,mid+1),r-1,y);
    }
    return;
}

int main()
{
    int n;
    cin>>n;
    tag=0;
    solve(1,n,0);
    
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3672kb

input:

3
1
1

output:

? 2
? 3
! 3

result:

ok Correct position at 3

Test #2:

score: -100
Wrong Answer
time: 1ms
memory: 3736kb

input:

10
1
0

output:

? 5
? 10
1 0
? 7

result:

wrong answer Token parameter [name=type] equals to "1", doesn't correspond to pattern "?|!"