Вы играете в вариацию игры 2048. Изначально у вас есть набор $$$s$$$, состоящий из $$$n$$$ чисел. Все числа из этого набора являются степенью двойки.
Вы можете совершать любое количество (возможно, нулевое) операций с этим набором чисел.
Во время каждой операции вы выбираете два равных числа из $$$s$$$, удаляете их из набора $$$s$$$ и добавляете в $$$s$$$ число, равное их сумме.
Например, если $$$s = \{1, 2, 1, 1, 4, 2, 2\}$$$, и вы выберете числа $$$2$$$ и $$$2$$$, то набор превратится в $$$\{1, 1, 1, 4, 4, 2\}$$$.
Вы выиграете, если число $$$2048$$$ окажется в вашем наборе. Например, если $$$s = \{1024, 512, 512, 4\}$$$ вы можете выиграть следующим образом: выберите $$$512$$$ и $$$512$$$, и ваш набор превратится в $$$\{1024, 1024, 4\}$$$. Затем вы можете выбрать числа $$$1024$$$ и $$$1024$$$, и ваш набор превратится в $$$\{2048, 4\}$$$.
Определите, можете ли вы выиграть в этой игре.
Вам нужно ответить на $$$q$$$ независимых запросов.
Первая строка содержит число $$$q$$$ ($$$1 \le q \le 100$$$) — количество запросов.
Первая строка каждого запроса содержит число $$$n$$$ ($$$1 \le n \le 100$$$) — количество чисел в наборе.
Вторая строка каждого запроса содержит $$$n$$$ чисел $$$s_1, s_2, \dots, s_n$$$ ($$$1 \le s_i \le 2^{29}$$$) — описание вашего набора чисел. Гарантируется, что все числа в наборе являются степенью двойки.
На каждый запрос выведите YES если вы можете получить число $$$2048$$$ в вашем наборе, и NO в обратном случае.
Вы можете выводить ответ в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).
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
YES YES NO NO YES YES
В первом запросе вы можете выбрать числа $$$512$$$ и $$$512$$$, и $$$s$$$ превратится в $$$\{1024, 64, 1024\}$$$. А затем вы выбираете числа $$$1024$$$ и $$$1024$$$, после этого набор $$$s$$$ превратится в $$$\{2048, 64\}$$$.
Во втором запросе набор $$$s$$$ содержит число $$$2048$$$ изначально.
Название |
---|