Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
 

print2101. Монстры

printМонстры

Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

В новой компьютерной игре для прохождения 85-го уровня игроку требуется уничтожить монстров в k комнатах. В каждой комнате изначально находится ai монстров, и единственное, что может делать игрок – создавать существ по имени Февроний.
Каждое созданное существо по имени Февроний голодно и хочет насытиться, поедая монстров. Однако, с каждым ходом сила игрока растет, и поэтому Февронию первому необходим ровно один монстр, Февронию второму – два, третьему – четыре, i-му – 2i .
После создания очередного Феврония игрок указывает ему на одну из k комнат, после чего Февроний идет туда. Если в этой комнате достаточно монстров для его насыщения, то он съедает столько монстров, сколько ему нужно, и умирает со счастливой улыбкой на лице. Если же ему не хватает хотя бы одного монстра, то он съедает всех, после чего выходит из комнаты и съедает игрока. Естественно, что такой вариант развития событий крайне нежелателен.
Помогите игроку выяснить, сможет ли он, создавая Феврониев, уничтожить всех монстров и остаться несъеденным.
В первой строке входного файла дано одно целое число k (1\ ≤\ k\ ≤\ 5) – количество комнат. В следующей строке даны k целых чисел a_i (1\ ≤\ a_i\ <\ 1024) – количества монстров в комнатах.
Выведите в выходной файл Yes, если игрок пройдет уровень, и No – в противном случае.

Пример ввода 1

2
21 10

Пример вывода 1

Yes

Пример ввода 2

3
22 10 32

Пример вывода 2

No
Источник: neerc.ifmo.ru/school
loading