#MQCwmb202602. 普洱茶饼的打包

普洱茶饼的打包

普洱茶饼的打包 (Pu-erh Tea Packing)

时间限制: 1.0s
内存限制: 256MB

【题目背景】

在西双版纳的普洱茶仓,茶艺师正在整理刚出厂的散装七子饼茶。为了方便运输和展示,茶艺师希望将所有的茶饼整齐地摆放在一个正方形的礼盒中。

【问题描述】

你有 nn 堆普洱茶饼,第 ii 堆有 aia_i 个茶饼。 你需要判断:是否能够将这 nn 堆茶饼全部用完,正好拼成一个边长为 xx 的实心正方形阵列(即总茶饼数恰好等于 x×xx \times x,其中 xx 为正整数)。

【输入格式】

第一行包含一个整数 tt (1t1041 \le t \le 10^4) —— 表示测试用例的数量。

每个测试用例包含两行: 第一行包含一个整数 nn (1n2×1051 \le n \le 2 \times 10^5) —— 茶饼的堆数。 第二行包含 nn 个整数 aia_i (1ai1091 \le a_i \le 10^9) —— 每堆茶饼的数量。

数据保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5

【输出格式】

对于每个测试用例,如果能拼成正方形,输出 YES,否则输出 NO

【样例输入】

5
3
1 2 4
1
16
2
6 10
9
1 1 1 1 1 1 1 1 1
2
8 9

【样例输出】

NO
YES
YES
YES
NO