QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#858107 | #8939. Permutation | Le0Chan | TL | 0ms | 0kb | C++14 | 870b | 2025-01-16 14:09:27 | 2025-01-16 14:09:33 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
namespace Le0{
#define ll long long
#define pii pair<int,int>
#define fi first
#define se second
#define pb push_back
#define db double
#define _int __int128
#define vi vector<int>
#define tii tuple<int,int,int>
const int inf=0x3f3f3f3f;
const ll lnf=1e18;
int n,as;
int qry(int l,int r){
cout<<"? "<<l<<' '<<r<<endl;
cin>>l;return l;
}
void sol(int l,int r,int p){
if(l==r){as=l;return;}
int len=(r-l+1)/3,rs=r-l+1-len*3;
int p2=qry(l,l+2*len-1);
if(p2==p) sol(l,l+2*len-1,p);
else sol(l+2*len,r,qry(l+2*len,r));
}
void sv(){
cin>>n;
sol(1,n,qry(1,n));
cout<<"! "<<as<<endl;
}
int main(){
int _T;cin>>_T;
while(_T--){
sv();
}
return 0;
}
}
int main(){
ios::sync_with_stdio(0),cin.tie(0);
return Le0::main();
}
详细
Test #1:
score: 0
Time Limit Exceeded
input:
3 5 3 1 3 3
output:
? 1 5 ? 1 2 ? 3 5 ? 3 4 ? 3 2