CF1881D Divide and Equalize
题目描述
给你一个包含 $n$ 个正整数的数组 $a$,你可以进行以下操作:
1. 选两个数 $a_i$ 和 $a_j$ ($1 < i, j \le n$ 且 $i \ne j$)。
2. 选择 $a_i$ 的一个因数 $x$。
3. 将 $a_i$ 替换为 $\frac{a_i}{x}$,$a_j$ 替换为 $a_j \cdot x$
请判断是否能通过有限次操作使 $a$ 中所有元素相同(可以是 $0$ 次)。
例如:
$a=[100,2,50,10,1]$ 共 $5$ 个数,那么进行以下两次操作:
1. 选择 $a_3=50,a_2=2,x=5$,则 $a_3=\frac{a_3}{x}=\frac{50}{5}=10,a_2=2\cdot5=10$,$a$ 变为$[100,10,10,10,1]$
2. 选择 $a_1=100,a_5=1,x=10$,则 $a_3=\frac{a_1}{x}=\frac{100}{10}=10,a_2=1\cdot10=10$,$a$ 变为$[10,10,10,10,10]$
经过以上操作后,$a$ 里面的元素都变成了 $10$。
输入格式
第一行输入一个整数 $t$($1\le t\le2000$),表示有$t$组数据。
下面的每组数据:
1. 第一行输入 $n$。
2. 第二行输入 $n$ 个以空格为间隙的数字,即 $a$ 的内容
数据保证 $1 \le n \le 10^4$ $n$ 的和不超过 $10^4$,$a$ 数组中的数 $1 \le a_i \le 10^6$。
输出格式
对于每组数据,判断是否可以通过有限次操作使得 $a$ 数组中的数均相等。可以输出 `YES`,否则输出 `NO`。不区分大小写。
说明/提示
第一组样例数据已在“题目描述”中有解释。