50求调
查看原帖
50求调
1284815
canwen楼主2024/5/12 18:55

想不出更好地优化方法了(

#include<bits/stdc++.h>
using namespace std;
int shuzu[1000001];
int main(){
	int t;
	cin >> t;
	for(int l=1;l<=t;l++){
		int q;
		cin >> q;
		for(int i=1;i<=q;i++){
			cin>>shuzu[i];
		}
		int need=shuzu[q-2];
		int k=0;
		for(int i=1;i<=q;i++){
			if(shuzu[i]%need!=0||shuzu[i]==need) continue;
			for(int j=i+1;j<=q;j++){
				if(shuzu[j]!=need&&shuzu[i]!=shuzu[j]&&__gcd(shuzu[i],shuzu[j])==need){
					k=1;break;
				}
			}
			if(k==1)break;
		}
		if(k==0){
			cout<<"No"<<endl;
		}else{
			cout<<"Yes"<<endl;
		}
	} 
	return 0;
}
2024/5/12 18:55
加载中...