#CF2067B. 两个大袋子
两个大袋子
B. 两个大袋子
每个测试点的时间限制: 秒
每个测试点的内存限制: 兆字节
你有两个装数字的大袋子。最初,第一个袋子装有 个数字:,第二个袋子是空的。你可以执行以下操作:
- 从第一个袋子中选择任意一个数字,并将其移动到第二个袋子中。
- 从第一个袋子中选择一个数字,该数字在第二个袋子中也存在,然后将其增加 。
你可以以任意顺序执行无限次两种类型的操作。是否有可能使第一个袋子和第二个袋子中的内容完全相同?
输入
每个测试包含多个测试用例。第一行包含一个整数 ()——测试用例的数量。
每个测试用例的第一行包含一个整数 ()——数组 的长度。保证 是偶数。
每个测试用例的第二行包含 个整数 ()。
保证所有测试用例的 之和不超过 。
输出
对于每个测试用例,如果可以使两个袋子的内容相同,输出 YES;否则输出 NO。
你可以以任意大小写输出每个字母(例如,"YES"、"Yes"、"yes"、"yEs" 等都会被识别为肯定回答)。
示例
输入
9
2
1 1
2
2 1
4
1 1 4 4
4
3 4 3 3
4
2 3 4 4
6
3 3 4 5 3 3
6
2 2 2 4 4 4
8
1 1 1 1 1 1 1 4
10
9 9 9 10 10 10 10 10 10 10
输出
Yes
No
Yes
Yes
No
Yes
No
Yes
Yes
注意
让我们分析第六个测试用例:我们将展示达到袋子内容相同的操作序列。
初始时,第一个袋子包含数字 ,第二个袋子为空。
- 第一次操作:将数字 从第一个袋子移动到第二个袋子。状态: 和 。
- 第二次操作:将第一个袋子中的数字 增加 。此操作可行,因为第二个袋子包含数字 。状态: 和 。
- 第三次操作:将数字 从第一个袋子移动到第二个袋子。状态: 和 。
- 第四次操作:将第一个袋子中的数字 增加 。状态: 和 。
- 第五次操作:将数字 从第一个袋子移动到第二个袋子。状态: 和 。
- 第六次操作:将第一个袋子中的数字 增加 。状态: 和 。
如我们所见,通过这些操作,可以使两个袋子的内容相等,因此答案是肯定的。