神秘CE求条
查看原帖
神秘CE求条
1284088
meifan666楼主2025/7/24 16:05
#include<bits/stdc++.h>
using namespace std;
int T,n,a[500100],cnt;
bool vis[100000001]={1,1},flag,have[1000100];
int prime[1000100];
map<int,int>id;
void get_prime(){
	for(int i=2;i<=100000000;i++){
		if(!vis[i])prime[++cnt]=i,id[i]=cnt;
		for(int j=1;j<=cnt&&i*prime[j]<=100000000;j++){
			vis[i*prime[j]]=1;
			if(i%prime[j]==0)break;
		}
	}
}
void work(int x){
	for(int i=1;i<=cnt&&prime[i]*prime[i]<=x;i++){
		if(x%prime[i]==0){
			if(have[i])flag=0;
			have[i]=1;
		}
	}
	if(!vis[x]){
		if(have[id[x]])flag=0;
		have[id[x]]=1;
	}
}
int read(){
	int k=1,ans=0;char s=getchar();
	while(s<'0'||s>'9'){if(s=='-')k=-1;s=getchar();}
	while(s>='0'&&s<='9'){ans=ans*10+s-'0';s=getchar();}
	return k*ans;
}
signed main() {
	T=read();
	get_prime();
	while(T--){
		n=read(),flag=1;
		int now=1;
		for(int i=1;i<=cnt;i++)
			have[i]=0;
		for(int i=1;i<=n;i++,now++)
			a[i]=read(),work(a[i]);
		if(n==2){
			puts("Yes");
			continue;
		}
		puts(flag?"Yes":"No");
	}
	return 0;
}

报错信息:g++: 编译器内部错误:File size limit exceeded signal terminated program as 请提交一份完整的错误报告, 如有可能请附上经预处理后的源文件。 参阅 https://gcc.gnu.org/bugs/ 以获取指示。

2025/7/24 16:05
加载中...