问题 4540 --好玩的数字游戏

4540: 好玩的数字游戏★★

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

题目描述

你正在玩一种类似于2048的游戏。一开始,你有一个由n个整数的集合s。每个整数都是2的幂。

你可以用这个集合进行任何次数的操作(可以是0次)。

在每一次操作中,你可以从集合中选择两个相同的整数,把它们两个从集合中去掉,然后再把它俩的和加到集合中。

例如,集合s={1,2,1,1,4,2,2},然后你选择整数22,集合就变成了{1,1,1,4,4,2}

如果集合中有2048,那你就赢了。例如,如果s={1024,512,512,4},按照下面的操作,你就可以赢:选择512512,集合变成{1024,1024,4},然后选择10241024,集合变成{2048,4},那么你就赢了。

你需要判断你是否能赢。

你需要处理q组数据。

输入

第一行包含一个整数q1q100

每组数据的第一行,包含一个整数n(1n100)

每组数据的第二行包含n个整数s1,s2,,sn (1si2^29)。保证集合中的每个数都是2的幂。

输出

如果能赢,输出YES,否则输出NO

样例输入
Copy
6
4
1024 512 64 512
1
2048
3
64 512 2
2
4096 4
7
2048 2 2048 2048 2048 2048 2048
2
2048 4096
样例输出
Copy
YES
YES
NO
NO
YES
YES

提示

来源

[提交][状态]