一直96pts
  • 板块P4752 Divided Prime
  • 楼主RNTBW
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/5/20 20:32
  • 上次更新2023/10/28 01:02:15
查看原帖
一直96pts
643735
RNTBW楼主2022/5/20 20:32

求助!

第31行出了问题,但一直找不出错

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[100001],b[100001],s[100001];
int t,n,m,i,j,k,x,y;
bool cmp(int a,int b){ return a>b; }
bool pd(int x)
{
	for(int i=2;1LL*i*i<=x;i++)
		if(x%i==0)return 0;
	return 1;
}
signed main()
{
	scanf("%lld",&t);
	while(t--)
	{
		scanf("%lld%lld",&n,&m);k=0;
		for(i=1;i<=n;i++) scanf("%lld",&a[i]);
		sort(a+1,a+n+1);
		for(i=1;i<=m;i++) scanf("%lld",&b[i]);
		sort(b+1,b+m+1);j=1;
		for(i=1;i<=n;i++)
		{
			if(a[i]==b[j])j++;
			else s[++k]=a[i];
		}//去重
		sort(s+1,s+k+1,cmp);
		for(i=k;i>0;i--)
			if(s[i]==1)k--;//去1
		if(!k)puts("NO");//这里!!
		if(k==1)
		{
			if(pd(s[1]))puts("YES");
			else puts("NO");
		}
		if(k>1)puts("NO");
	}
	return 0;
}
2022/5/20 20:32
加载中...