QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#574755#6394. Turn on the LightGammaRaysWA 0ms3720kbC++23703b2024-09-19 00:17:212024-09-19 00:17:24

Judging History

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

  • [2024-09-19 00:17:24]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3720kb
  • [2024-09-19 00:17:21]
  • 提交

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";
	cout.flush();
	cin>>x;
	if(x==lst)
	{
		tag=1;
		cout<<"! "<<mid;
		cout.flush();
		return;
	}
	
	cout<<"? "<<r<<"\n";
	cout.flush();
	cin>>y;
	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;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
1
1

output:

? 2
? 3
! 3

result:

ok Correct position at 3

Test #2:

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

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 "?|!"