问题 6369 --正方形

6369: 正方形★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 121  解决: 34
[提交][状态][命题人:]

题目描述

小C有n个桶,其中第i个桶中包含了ai个边长等于1的正方形小木块,现在小C想知道,用所有的小木块能否拼成一个大正方形,于是他向你寻求帮助。

输入

第一行包含一个整数T(1<=T<=10000),表示测试用例数量

每个测试用例第一行是一个整数n(1<=n<=200000)表示桶的数量

每个测试用例的第二行包含n个整数ai,(1<=ai<=1e9)表示第i个桶中小木块数量。

所有测试用例的n之和不超过200000

输出

对于每个测试用例输出一行,如果可以拼成大正方形输出”YES",否则输出"NO"
样例输入
Copy
5
1
9
2
14 2
7
1 2 3 4 5 6 7
6
1 3 5 7 9 11
4
2 2 2 2
样例输出
Copy
YES
YES
NO
YES
NO

提示

可以使用int x = sqrt(n)来获取n的开根号,x即为根号n下取整。若x*x==n,那么n是完全平方数。

来源

[提交][状态]