Монстры
Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
В новой компьютерной игре для прохождения 85-го уровня игроку требуется уничтожить монстров в `k` комнатах. В каждой комнате изначально находится
`a_i` монстров, и единственное, что может делать игрок – создавать существ по имени Февроний.
Каждое созданное существо по имени Февроний голодно и хочет насытиться, поедая монстров. Однако, с каждым ходом сила игрока растет, и поэтому Февронию
первому необходим ровно один монстр, Февронию второму – два, третьему – четыре, `i`-му – `2^{i\ -\ 1}`.
После создания очередного Феврония игрок указывает ему на одну из `k` комнат, после чего Февроний идет туда. Если в этой комнате достаточно монстров
для его насыщения, то он съедает столько монстров, сколько ему нужно, и умирает со счастливой улыбкой на лице. Если же ему не хватает хотя бы одного
монстра, то он съедает всех, после чего выходит из комнаты и съедает игрока. Естественно, что такой вариант развития событий крайне нежелателен.
Помогите игроку выяснить, сможет ли он, создавая Феврониев, уничтожить всех монстров и остаться несъеденным.
В первой строке входного файла дано одно целое число `k` (`1\ ≤\ k\ ≤\ 5`) – количество комнат. В следующей строке даны `k` целых чисел
`a_i` (`1\ ≤\ a_i\ <\ 1024`) – количества монстров в комнатах.
Выведите в выходной файл Yes, если игрок пройдет уровень, и No – в противном случае.
Пример ввода 2
3
22 10 32
Источник: neerc.ifmo.ru/school