求助
查看原帖
求助
378403
wanglexi31楼主2023/11/23 21:37

自己觉得写得挺对

#include<bits/stdc++.h> 
using namespace std;
int n,cnt[200005],can[200005],a,Q,q;
int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
	cin>>n>>Q;
	for(int i=1;i<=n;i++){
		cin>>a;
		cnt[a]++;
	}for(int i=1;i<=200000;i++){
		for(int j=i;j<=200000;j+=i)if((i==j&&cnt[i]>=2)||(i!=j&&cnt[i]==1&&cnt[j]==1))can[j/i]=1;
	}while(Q--){
		cin>>q;
		cout<<(can[q]==1?"YES\n":"NO\n");
	}
	return 0;
}
2023/11/23 21:37
加载中...