QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#666428#8939. Permutationxh_team#RE 0ms0kbC++20925b2024-10-22 18:25:402024-10-22 18:25:53

Judging History

This is the latest submission verdict.

  • [2024-10-22 18:25:53]
  • Judged
  • Verdict: RE
  • Time: 0ms
  • Memory: 0kb
  • [2024-10-22 18:25:40]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define PII pair<int,int>
#define lson 2*p
#define rson 2*p+1
#define x first
#define y second
// #define endl "\n"
const int N=2e5+10;
const int mod=1e9+7;
int last=-1;
int ans=0;
int ask(int l,int r) {
	cout<<"? "<<l<<" "<<r<<endl;
	int k;
	cin>>k;
	return k;
}
int solve(int l,int r,int last) {
	if(l==r) return l;
	if(last==-1) last=ask(l,r);
	if(r-l==1) return (l^r^last);
	if(r>=2*last-l) {
		int len=r-l;
		int k=ask(l,l+len*3/5);
		if(k==last) solve(l,l+len*3/5,k);
		else solve(l+len*3/5+1,r,-1);
	} else {
		int len=r-l;
		int k=ask(r-len*3/5,r);
		if(k==last) solve(r-len*3/5,r,k);
		else solve(l,r-len*3/5-1,-1);
	}
}
void solve() {
	int n;
	cin>>n;
	cout<<"! "<<solve(1,n,-1)<<endl;
} 
signed main() {
//	ios::sync_with_stdio(false);
//	cin.tie(0);
	int T=1;
	cin>>T;
	while(T--) {
		solve();
	}
}

详细

Test #1:

score: 0
Runtime Error

input:

3
5

output:

! ? 1 5

result: