LRC and VIP

cpp 复制代码
//首先排除所有数相等的情况,再把最大值放在一个组,那么最大值的gcd就等于其本身,再判断剩下的gcd是否等于最大值就可以了
#include<bits/stdc++.h>
using namespace std;
 
const int N=1e3+100;
int a[N];
map<int,int>mapp;
int main(){
  int t;
  cin>>t;
  while(t--){
  	int n;
  	cin>>n;
  	mapp.clear();
  	int maxn=-1;
  	for(int i=1;i<=n;i++){
  		cin>>a[i];
  		mapp[a[i]]++;
  		maxn=max(maxn,a[i]);
	  }
	  
	  if(mapp[maxn]==n){
	  	cout<<"NO"<<endl;
	  }else{
	  	int num=a[1];
	  	int flag=0;
	  	int x;
	  	for(int i=2;i<=n;i++){
	  		if(a[i]==maxn){
	  			flag=1;
	  			x=i;
	  			continue;
	  			
			  }
	  		num=__gcd(num,a[i]);
		  }
	      if(num!=maxn){
	      	cout<<"YES"<<endl;
	      	int u=0;
	      	for(int i=1;i<=n;i++){
	      		if(a[i]==maxn){
	      			u=1;
	      			cout<<2<<" ";
	      			continue;
				  }
		  	cout<<1<<" ";
		  }
		   
		  cout<<endl;
		  }else{
		  	cout<<"NO"<<endl;
		  }
		   
	  }
  }
} 
相关推荐
码匠许师傅6 分钟前
【设计模式精讲】25.状态模式(State)
c++·ui·设计模式·状态模式·uml
C++ 老炮儿的技术栈16 分钟前
MFC CPtrArray的用法
开发语言·数据结构·c++·算法·mfc·c
佳児素花痴╮19 分钟前
C++基础速通
开发语言·c++
weixin_4462608522 分钟前
CABAL:用于追踪同行评审中合谋投标影响的多智能体仿真框架
人工智能·算法·机器学习
不会就选b22 分钟前
算法日常・每日刷题--<贪心>6
数据结构·算法·leetcode
青山木1 小时前
Hot 100 --- 跳跃游戏 II
java·数据结构·算法·leetcode·贪心算法
Tisfy1 小时前
LeetCode 3870.统计范围内的逗号:模拟 或 一步计算
数学·算法·leetcode·题解·模拟·遍历
明月_清风1 小时前
字符串匹配四大经典算法:BF、RK、BM、KMP 到底有什么区别?
后端·算法
程序喵大人1 小时前
【C++入门】值类别与表达式 - 03 引用绑定:为什么有些参数能接住临时对象
开发语言·c++·引用绑定
明月_清风2 小时前
多模式字符串匹配:Trie 与 AC 自动机
后端·算法