正解应该是什么,是我代码的问题还是理解的问题
#include<bits/stdc++.h>
typedef long long LL;
LL T;
LL n;
const int N=1e5+5;
LL arr[N];
std::set<LL>s1,s2;
LL len=0;
int main(){
std::ios::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
std::cin>>T;
while(T--){
bool flag=0;
std::cin>>n;
for(LL i=1;i<=n;++i) std::cin>>arr[i];
while(len==n){
for(LL i=1;i<=len;++i){
s1.insert(arr[i]);
}
for(LL i=len;i<=n;++i){
s2.insert(arr[i]);
}
if(s1.size()>s2.size()){
flag=std::includes(s1.begin(),s1.end(),s2.begin(),s2.end());
}
else if(s2.size()>s1.size()) flag=std::includes(s2.begin(),s2.end(),s1.begin(),s1.end());
else{
if(std::includes(s1.begin(),s1.end(),s2.begin(),s2.end())||std::includes(s2.begin(),s2.end(),s1.begin(),s1.end())) flag=1;
else flag=0;
}
++len;
s1.clear(),s2.clear();
}
if(flag) puts("YES");
else puts("NO");
len=0;
}
return 0;
}