求解刚刚结束的比赛T1
  • 板块学术版
  • 楼主KAqwq
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/4 12:04
  • 上次更新2023/11/3 05:59:35
查看原帖
求解刚刚结束的比赛T1
448018
KAqwq楼主2023/8/4 12:04

正解应该是什么,是我代码的问题还是理解的问题

#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;
}
2023/8/4 12:04
加载中...