Задача A. Запертая комната

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:64 Мб
Выходной файл:Стандартный выход  

Условие

Тимофей пытается найти выход из квестовой комнаты и ему осталось пройти последнее испытание - автомат, который блокирует входную дверь. У автомата есть индикатор, на котором светится число 1. Еще у автомата есть три кнопки, первая из которых увеличивает число на индикаторе вдвое, вторая - возводит число на индикаторе в квадрат, третья - стирает у числа последнюю цифру. Индикатор позволяет выводить только k разрядов числа, поэтому если в результате нажатий кнопок получается число большее или равное 10k, то автомат сбрасывает число на индикаторе снова на 1. То же самое происходит при попытке отбросить последнюю цифру от однозначного числа.

В ходе предыдущих испытаний Тимофей выяснил, что автомат откроет дверь, если ему удастся получить на индикаторе число n, причем затратив на это наименьшее возможное число нажатий кнопок. Попробуйте по данным k и n определить это число и нужную комбинацию нажатий.

Формат входных данных

В единственной строке входного файла через пробел записаны два натуральных числа k и n.

Формат выходных данных

В первой строке выходного файла запишите ответ на задачу. Гарантируется, что организаторы квеста не жульничают и для предложенных k и n ответ существует и не превышает 32. Во второй строке запишите строку, соответствующую последовательности нажатых кнопок. Если существует несколько подходящих строк минимальной длины, вывести нужно лексикографически наименьшую.

Ограничения

2 ≤ n ≤ 100.

2 ≤ k ≤ 6.

Пояснения к примерам

В первом примере Тимофей может превратить 1 в 4 с помощью двух нажатий первой кнопки. Затем превратить 4 в 256 с помощью двух нажатий второй кнопки. Наконец, получить из 256 число 25 с помощью третьей кнопки. Всего потребуется 5 нажатий. Правильной последовательностью также будет строка 12223, но 11223 лексикографически меньше.

Во втором примере Тимофею придется последовательно получать числа 2, 4, 8, 64, 6, 36, 72, 7, 14, 28, 56, 5, 25.

Примеры тестов

Стандартный вход Стандартный выход
1
6 25
5
11223
2
2 25
13
1112321311132

Задача B. Саша и крышки

Автор:Владимир Глушков   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:64 Мб
Выходной файл:Стандартный выход  

Условие

Девочка Саша каждый год собирает крышки от газировки, чтобы на новогодней акции получить призы, но ещё ни разу у неё не получилось накопить достаточно.

В этом году компания изготовитель объявила новую акцию, в рамках которой получить приз можно не только за новые крышки, но и за крышки прошлого и позапрошлого года.

При этом одной крышке текущего года эквивалентны четыре крышки позапрошлого года или две крышки прошлого года.

Обменивать крышки дробно нельзя,то есть одна крышка прошлого года или две позапрошлого - ничего не стоят.

Сколько призов может получить Саша в этом году, если цена одного приза K крышек, а у девочки A крышек текущего года, B крышек прошлого года и C крышек позапрошлого года?

Формат входных данных

В единственной строке через пробел записаны четыре неотрицательных целых числа K, A, B, C — стоимость приза в крышечках, количество крышек текущего, прошлого и позапрошлого годов соответственно.

Формат выходных данных

Выведете одно неотрицательное целое число - количество призов, которое может получить Саша.

Ограничения

1 ≤ K ≤ 1012

0 ≤ A, B, C ≤ 1012

Примеры тестов

Стандартный вход Стандартный выход
1
1 1 2 4
3
2
15 25 18 14
2
3
100 70 30 80
1

Задача C. Игра на перемене

Автор:Антон Карабанов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:64 Мб
Выходной файл:Стандартный выход  

Условие

Получив от родителей деньги на школьные завтраки, закадычные друзья Петя и Вася решили сыграть в свою традиционную игру "Coins". Они выбрали все свои монетки достоинством в один, два и пять рублей и сложили в одну кучу. Каждый из игроков ходит по очереди. Первым всегда ходит Петя. В игре допустимы следующие ходы:

1. Из кучи можно забрать одну любую монетку;

2. Можно вытащить из кучи одну монетку достоинством в два рубля (если она там есть), разменять ее у друзей и положить в кучу две монетки достоинством в один рубль;

3. Можно вытащить из кучи одну монетку достоинством в пять рублей (если она там есть), разменять ее у друзей и положить в кучу две монетки достоинством в два рубля и одну монетку достоинством в один рубль.

Выигрывает тот игрок, после хода которого в куче не останется ни одной монеты. Естественно, и Петя, и Вася стремятся выиграть, поэтому играют в полную силу.

Наблюдавший за игрой Тимофей внезапно заявил, что может определить победителя еще до первого хода, просто зная количество монеток каждого достоинства в куче. А вы сможете?

Формат входных данных

В единственной строке входного файла через пробел записаны неотрицательные числа a, b, c — количества монет достоинством в один, два и пять рублей соответственно. Гарантируется, что a + b + c ≠ 0.

Формат выходных данных

Выведите имя победителя игры — Petya или Vasya.

Ограничения

0 ≤ a, b, c ≤ 109

Примеры тестов

Стандартный вход Стандартный выход
1
2 0 0
Vasya
2
1 2 0
Petya
3
1 1 1
Petya

Задача D. Вася и Суперкомпьютер

Автор:Ю. Михалев   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  

Условие

Программист Вася решил войти в историю, как человек, решивший больше всего задач. Поэтому он создал Суперкомпьютер, способный выполнять следующие задания: генерировать случайную задачу(0) и решать случайную задачу(1) за Васю (задача необязательно должна быть перед этим сгенерирована - у Васи уже был безлимитный список задач для решения).

К сожалению, особенности реализации не позволяли Суперкомпьютеру работать постоянно: каждый день он мог выполнить только ограниченное количество заданий. Более того, каждый день суперкомпьютер должен был начинать работу с задания такого же типа, на котором он закончил вчера (первый день мог начаться с любого задания).

Так Суперкомпьютер проработал некоторое количество дней, а затем вышел из строя. Открыв лог, Вася обнаружил, что все записи о днях перемешались, и среди них оказались лишние. Помогите Васе выяснить, какое максимальное количество заданий мог выполнить Суперкомпьютер до поломки, исходя из данных лога.

Формат входных данных

Первая строка входного файла содержит число N - количество записей в логе

Следующие N строк содержат число Mi - количество заданий, выполненное в какой-то день, и строку Si длины Mi, состоящую из символов 0 и 1 - описание выполненных в этот день заданий

Записи лога идут не по хронологическому порядку. Некоторые записи могут оказаться лишними.

Формат выходных данных

Выходной файл должен содержать единственное число - максимальное количество заданий, которое мог выполнить Суперкомпьютер до выхода из строя.

Ограничения

Суммарная длина Si не превышает 5 ⋅ 105

Примеры тестов

Стандартный вход Стандартный выход
1
6
4 1111
3 100
5 00101
2 00
10 1001010110
2 01
26
2
6
3 100
5 10100
2 11
6 011101
3 110
2 10
16

Задача E. Пианино программиста

Автор:В. Глушков, А. Щуров   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  

Условие

Девочка Саша учится играть на пианино. Во время перерыва между занятиями ей стало интересно, сколько нажатий необходимо сделать, чтобы нажать все клавиши. Клавиатура пианино состоит из длинных белых клавиш и коротких чёрных, расположенных между ними. Саша заметила, что если между двумя соседними белыми клавишами нет чёрной, то их можно нажать за одно нажатие. Чёрные же клавиши всегда можно нажимать только по одной. Какое минимальное количество нажатий должна сделать Саша, чтобы нажать все клавиши на клавиатуре?

Формат входных данных

Входные данные содержат одну непустую строку — описание клавиатуры. Белым клавишам соответствует символ 1, а черным — 0.

Формат выходных данных

Выходные данные должны содержать одно целое число: минимальное количество нажатий.

Ограничения

Длина строки не превосходит 105.

Примеры тестов

Стандартный вход Стандартный выход
1
0101
4
2
001101001
8

Задача F. Столы с закусками

Автор:В. Глушков, А. Щуров, И. Блинов   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  

Условие

Девочки Лена и Саша устроили вечеринку по поводу дня рождения лучшего друга. Не обошлось и без столов с закусками для гостей. Но Лена перепутала столы и заставила их не теми закусками. До прихода гостей осталось совсем немного времени, и девочкам нужно поменять закуски местами как можно быстрее.

Всего у девочек есть два стола, на которых помещается A + B закусок: A закусок на первом столе и B на втором. Саша, будучи программистом, обратила внимание, что:

1) переставлять сразу по два предмета с одного стола на другой — самый быстрый способ исправить всё к приходу гостей;

2) если совместить приятное с полезным и сразу съесть несколько закусок, то их не нужно будет переставлять на другой стол, и тогда количество действий сократится.

Поскольку Саша хочет оставить свой хак незамеченным, она должна съесть суммарно не больше двух закусок. Помогите Саше понять, сколько закусок нужно съесть с каждого стола так, чтобы максимально уменьшить количество действий. Если есть несколько вариантов решения, выведите любой.

Формат входных данных

Входные данные содержат два целых числа: A и B.

Формат выходных данных

Выходные данные должны содержать два целых числа: количество закусок, которые нужно съесть с первого и второго стола соответственно.

Ограничения

0 ≤ A, B ≤ 109

Примеры тестов

Стандартный вход Стандартный выход
1
2 1
0 1

Задача G. Утки и крокодилы

Автор:В. Глушков, И. Блинов   Ограничение времени:2 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

Парк представляет из себя N полян, соединённых M ненаправленными тропинками одинаковой длинны.

Владельцы крокодилов и уток любят выгуливать своих питомцев по парку. Крокодиловоды заходят в парк через поляну 1, а утководы заходят в парк через поляну с номером N. Прогулка всегда проходит следующим образом: владелец с питомцем идут по какому-то маршруту и при этом посещают каждую поляну и тропинку не более одного раза, а потом возвращаются на стартовую поляну.

Крокодилы часто нападают на уток, и из-за этого владельцы уток крайне недовольны и требуют от администрации парка решить эту проблему. Администрация предложила разделить парк на поляны которые могут посещать только владельцы уток и те которые могут посещать только владельцы крокодилов. Все любят долгие прогулки, а ещё больше справедливость. Поэтому необходимо проложить два не пересекающихся маршрута содержащие минимум 3 вершины (один для утководов, один для владельцев крокодилов) такие, что разница длин маршрутов минимальна.

Формат входных данных

Первая строка входного файла содержит два числа N и M, количество полян и количество тропинок.

Следующие M строк содержат по два числа ui, vi  — номера полян, соединенных i-ой тропинкой.

Формат выходных данных

Выходной файл должен содержать одно целое число  — минимальную разницу длин маршрутов.

В случае если проложить два таких маршрута не представляется возможным, выведите одно число  − 1.

Ограничения

6 ≤ N ≤ 15

6 ≤ M ≤ N * (N − 1)2

Примеры тестов

Стандартный вход Стандартный выход
1
8 10
1 2
1 3
2 3
2 4
3 5
4 5
4 6 
5 7
6 8
7 8
2
2
6 10
1 2
1 3
2 3
2 4
2 5
3 4
3 5
4 5
4 6
5 6
0

Задача H. Почтовый индекс

Автор:Антон Карабанов   Ограничение времени:2 сек
Входной файл:Стандартный вход   Ограничение памяти:64 Мб
Выходной файл:Стандартный выход  

Условие

У Тимофея скоро День рождения! В связи с этим эпохальным событием, он собирается сделать рассылку писем-приглашений. К сожалению, отправить почтовый конверт не так просто, как электронное письмо, необходимо знать точный домашний адрес, а самое главное — почтовый индекс адресата.

Почтовый индекс состоит из десятичных цифр, для написания которых используется специальный шаблон. Шаблон состоит из 9 пунктирных отрезков, образующих два квадрата с проведенными в них диагоналями (по одной в каждом квадрате). Проводя по ним линии, можно получить различные цифры. Образец написания цифр приведен на рисунке.

Линии, образующие стороны квадрата, Тимофей называет прямыми, а диагонали квадрата - наклонными. Например, в цифре 9 четыре прямых и одна наклонная линия.

Сегодня Тимофей должен написать письмо-приглашение своему другу, с которым он познакомился в международном лагере юных программистов, да вот беда - Тимофей совсем забыл его почтовый индекс. Все, что он помнит, так это количество прямых и наклонных линий в его индексе, и то, что он является наименьшим натуральным числом из всех подходящих. Помогите Тимофею! Учтите, что длина индекса в других странах может быть произвольной (а не 6, как в России), а также то, что никакой индекс не может начинаться с нуля.

Формат входных данных

В единственной строке через пробел записаны два неотрицательных целых числа a и b — количества прямых и наклонных линий в индексе.

Формат выходных данных

Выведете одно натуральное число — наименьший подходящий индекс. Если ни одного подходящего индекса подобрать нельзя, выведите сообщение Wrong.

Ограничения

0 ≤ a ≤ 103

0 ≤ b ≤ 102

Примеры тестов

Стандартный вход Стандартный выход
1
10 1
28
2
5 4
Wrong
3
23 5
100236

Задача Y. Гиперпрыжок

Автор:А. Щуров   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:512 Мб
Выходной файл:Стандартный выход  

Условие

Космический корабль собирается выполнить прыжок в гиперпространство. Прыжок будут снимать для документального фильма, поэтому нужно сделать его эффектным. Для этого режиссер поручил вам найти астероидное облако, сквозь которое корабль должен пролететь. Вы успешно с этим справились, и теперь съемочной группе нужно найти подходящее для взлета место.

В силу конструктивных особенностей летательного аппарата, он может производить взлет только с оси OX под углом 45, образуя острый угол между прямой траекторией взлета и положительным направлением OX.

Астероидное облако представляет собой N астероидов на плоскости, каждый из которых имеет форму круга радиусом ri и располагается в координате xi yi.

Для эффектного и безопасного взлета нужно подобрать подходящий коридор между астероидами, здесь-то и нужна ваша помощь! Вам нужно найти все коридоры ненулевой ширины в астероидном облаке. Каждый коридор представляет собой полосу, ограниченную сверху и снизу прямыми, наклон которых к оси OX составляет 45, такую, что её ширина максимально возможна, а на самой полосе нет частей астероидов. Шириной коридора считается расстояние между ограничивающими его прямыми.

Формат входных данных

Входные данные содержат два целое число N и затем N троек целых чисел xi yi ri.

Формат выходных данных

Выходные данные должны содержать количество коридоров и затем, в порядке возрастания, ширину каждого из них с точностью до трех знаков после запятой.

Ограничения

2 ≤ N ≤ 105

0 ≤ |xi|, yi ≤ 105,

1 ≤ ri ≤ 103

ri < yi

Примеры тестов

Стандартный вход Стандартный выход
1
2
4 2 1
2 4 1
1
0.828427

0.604s 0.012s 33