Квалификационный этап Четвертьфинала Центрального подрегиона NEERC, ACM-ICPC 2018-2019
A. Долгожданное тепло
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

При подготовке к квалификационному раунду жюри задалось вопросом, когда же, наконец, в ЯрГУ включат отопление. Как известно, это происходит, когда среднесуточная температура на улице держится не выше отметки $$$+8^{\circ} C$$$ в течение пяти дней подряд. Тогда на шестой день батареи должны нагреться.

Жюри считает, что участники соревнований смогут дать ответ на поставленный вопрос, зная прогноз погоды на ближайшие $$$N$$$ дней. Известно, что в первые пять дней отопление не включат.

Входные данные

Первая строка содержит натуральное число $$$N$$$ ($$$5\leq N\leq100$$$) - количество дней в прогнозе погоды. Вторая строка содержит $$$N$$$ действительных чисел $$$t_i$$$ ($$$-20\leq t_i \leq 20$$$), разделенных пробелом, описывающих среднесуточную температуру в день с номером $$$i$$$ (нумерация с 1).

Выходные данные

В единственной строке необходимо вывести число $$$K$$$ - номер дня, начиная с которого жюри перестанет мерзнуть ($$$6\leq K\leq N+1$$$) или 0, если по указанным данным ничего сказать нельзя.

Примеры
Входные данные
7
5.5 -3.01 2 4 6.7 8 9.5
Выходные данные
6
Входные данные
8
10 11 12.5 7 8 8 7 6
Выходные данные
9
Входные данные
5
10.9 11 10.2 9 8
Выходные данные
0

B. Слишком много скобок
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Например, выражение $$$(((a)))$$$ можно преобразовать просто в $$$(a)$$$. Выражение $$$(a((df)(b))(a))$$$ упростить нельзя. Выражение $$$()$$$ преобразуется в пустую строку.

Входные данные

Единственная непустая строка, содержащая выражение. Выражение состоит из круглых скобок и латинских букв. Все скобки правильно расставлены. Длина выражения не превосходит 100 символов.

Выходные данные

Упрощенное выражение, в котором удалены лишние скобки.

Примеры
Входные данные
((a)(b))
Выходные данные
((a)(b))
Входные данные
((()(b)))
Выходные данные
(b)
Входные данные
((a)e(b)d(c))
Выходные данные
((a)e(b)d(c))
Входные данные
((((a)((b))((((c)))))))
Выходные данные
((a)(b)(c))
Входные данные
((abc)de(f()))
Выходные данные
((abc)de(f))

C. Налево пойдешь...
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Группа хоббитов добралась до пещер Мории. Ее обширная сеть туннелей состоит из огромных залов, соединенных переходами. Путешественники стоят перед несколькими секретными входами в той части Мории, которая еще не была достроена. Каждый вход ведет в свой лабиринт и нет никакой гарантии, что он ведет по ту сторону Мглистых гор, куда надо путникам. Рядом путники нашли сундук, в котором содержатся письмена, где перечисляется какой зал с каким соединяется и из каких залов есть выход по ту сторону Мглистых гор.

Помогите хоббитам выбрать тот лабиринт, который приведет их к цели. Известно, что такой лабиринт только один, остальные ведут в тупик.

Входные данные

На вход подается число $$$1 \lt N\leq 300$$$ - количество входов в лабиринты, перед которыми стоят путники.

Далее следуют $$$N$$$ описаний этих лабиринтов. В первой строке описания задается число $$$2 \lt K\leq 1000$$$ и $$$M$$$ - соответственно количество залов в лабиринте и количество описаний переходов. После этого следуют $$$M$$$ пар чисел $$$(a_i, b_i)$$$, $$$0\leq a_i, b_i \lt K$$$, которые задают, что из зала $$$a_i$$$ есть переход в зал $$$b_i$$$ и обратно. Описания переходов не повторяются.

Ворота перед хоббитами ведут всегда в зал номер $$$0$$$. Известно, что из зала с номером $$$K-1$$$ есть выход на ту сторону Мглистых гор.

Выходные данные

Одно число, которое соответствует номеру лабиринта, который возможно пройти от зала номер $$$0$$$ до зала номер $$$K-1$$$. Лабиринты нумеруются начиная с единицы.

Примеры
Входные данные
2
3 2
0 1
1 2
4 1
0 1
Выходные данные
1
Входные данные
3
5 3
2 0
1 3
3 4
4 2
0 1
2 3
4 3
0 2
1 3
2 3
Выходные данные
3
Входные данные
2
4 2
1 0
2 3
5 1
0 4
Выходные данные
2
Входные данные
2
10 3
0 2
1 3
4 9
8 5
0 5
2 4
6 3
0 3
6 7
Выходные данные
2
Входные данные
2
5 4
0 3
0 1
0 2
1 3
4 4
0 1
0 2
1 2
1 3
Выходные данные
2

D. Машинное зрение
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Каждая цифра задается с использованием трех строк и в ширину занимает три символа:


_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
Входные данные

На вход подаются три строки, задающие последовательность цифр. Каждая цифра в ширину занимает три символа. Цифры отделены одна от другой одним пробелом. Все строки имеют одинаковую длину.

Последовательность может начинаться с любой цифры, отличной от 0. Написанное число не превосходит $$$10^9$$$.

Выходные данные

Одно число, которое соответствует последовательности цифр.

Примеры
Входные данные
     _   _       _ 
| _| _| |_| |_
| |_ _| | _|
Выходные данные
12345
Входные данные
 _   _   _   _   _ 
|_ | |_| |_| | |
|_| | |_| _| |_|
Выходные данные
67890
Входные данные
     _   _     
| | | | |
| |_| | |
Выходные данные
1071
Входные данные
 _   _       _ 
_| | | | |_|
|_ |_| | |_|
Выходные данные
2018
Входные данные
     _       _ 
| | | | | |
| |_| | |_|
Выходные данные
1010
Примечание

См. тесты в соревновании.

E. Самая выгодная сделка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Главный принцип торговли на бирже: дешевле купить и подороже продать. Петр разрабатывает новую алгоритмическую торговую систему, в которой ему надо определить самую выгодную сделку за предыдущий период времени торговли финансового актива. Сделка однократная, сначала актив один раз покупается и через какое-то время продается. Если сделок с положительным финансовым результатом нет, то вывести $$$0.0$$$

Входные данные

В первой строке подается одно число $$$2 \lt N\leqslant 100000$$$. Далее следует одна строка, в которой задается последовательность цен на актив в течение интересующего Петра периода времени длины $$$N$$$ действительных чисел $$$1.0\leqslant a_i\leqslant 500.0$$$.

Выходные данные

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

Примеры
Входные данные
4
1.0 5.2 3.0 2.0
Выходные данные
4.2
Входные данные
6
5.0 4.0 3.0 1.0 2.0 9.0
Выходные данные
8.0
Входные данные
5
1.1 1.0 5.5 6.6 7.7
Выходные данные
6.7
Входные данные
6
2.5 8.9 12.4 9.3 13.5 18.0
Выходные данные
15.5
Входные данные
5
10.0 9.0 8.0 7.0 6.0
Выходные данные
0.0

F. Торговый день
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Каждый день в Японии на рынок приплывают суда с уловом. Покупатели выбирают рыбу и просят мастеров разделать им ее на кусочки. Кусочек каждого размера имеет свою ценность и на него найдется свой покупатель.

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

Помогите мастеру максимально выгодно продать одну рыбу, зная ее размер.

Входные данные

На вход подается число $$$1 \lt N \leq 1000$$$ - размер рыбы.

Далее идут $$$N$$$ целых положительных чисел $$$p_i, i=1,\ldots,n$$$, которые задают сколько стоит кусок рыбы размера $$$i$$$.

Выходные данные

Единственное число, которое задает максимальную цену, за которую можно продать рыбу.

Примеры
Входные данные
4
1 5 8 9
Выходные данные
10
Входные данные
7
1 2 3 4 10 17 17
Выходные данные
18
Входные данные
6
10 11 13 15 21 3
Выходные данные
60
Входные данные
6
3 2 12 16 5 14
Выходные данные
24
Входные данные
6
1 2 5 8 13 14
Выходные данные
14

G. Точная рифма
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Велимир занимается поэзией недавно, но уже узнал, что залогом хорошего стихотворения является точная рифма. Точностью рифмы для двух образующих её слов называется максимальная длина общего окончания этих слов. Например, точность рифмы слов pull и push равна 0, а слов book и hook - 3.

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

Входные данные

Первая строка содержит число $$$N$$$ ($$$2 \leq N \leq 100000 $$$) — количество слов в наборе.

Следующие $$$N$$$ строк содержат набор слов, по одному в строке. Каждое слово состоит из строчных латинских букв и содержит не более 200 символов.

Выходные данные

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

Примеры
Входные данные
5
pull
merge
push
rebase
blame
Выходные данные
1
blame
merge
Входные данные
4
commit
hook
submit
checkout
Выходные данные
3
commit
submit
Входные данные
4
twice
nice
twice
ice
Выходные данные
5
twice
twice

H. Танос ни при чем
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Герои одной известной киновселенной любят играть в игру «Числа». Выстроившись в одну шеренгу, они по очереди выкрикивают натуральные числа так, что сумма чисел, названных любыми тремя стоящими друг за другом героями, равна $$$S$$$.

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

Входные данные

Первая строка содержит два натуральных числа $$$N$$$ и $$$S$$$ ($$$4 \leq N\leq 10000$$$, $$$1 \leq S \leq 100$$$), разделенных пробелом: количество героев, участвовавших в игре, и сумму, описывающую игру.

Вторая строка содержит четыре натуральных числа $$$i$$$, $$$a_i$$$, $$$j$$$, $$$a_j$$$ ($$$1 \leq i,j \leq N$$$, $$$1 \leq a_i,a_j \leq 100$$$), разделенных пробелами, которые описывают положение в шеренге и числа, названные оставшимися в живых героями.

Выходные данные

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

Примеры
Входные данные
4 10
1 6 2 3
Выходные данные
6 3 1 6 
Входные данные
4 10
1 6 3 5
Выходные данные
-1

I. Торговый день - 2
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На рынке Японии вы уже побывали, а теперь зайдем в кондитерскую. Торт представляет из себя правильный $$$N$$$-угольник. Каждое утро кондитер разрезает свежеиспеченный торт на треугольные кусочки, делая разрезы по диагоналям $$$N$$$-угольника. Для каждого такого разреза известен размер усилия, которое нужно приложить кондитеру, чтобы совершить его.

Помогите кондитеру максимально выгодно разрезать торт, минимизировав прилагаемые усилия.

Входные данные

На вход подается число $$$4\leq N \leq 500$$$ - количество вершин $$$N$$$-угольника.

Далее идут $$$N$$$ строк, содержащих по $$$N$$$ целых чисел $$$a_{i,j}$$$ ($$$0\leq a_{i,j} \leq 1000$$$) $$$i,j=1,\ldots,N$$$, которые задают усилия, необходимые для совершения диагонального разреза из вершины $$$i$$$ в вершину $$$j$$$. Гарантируется, что $$$a_{i,i}=a_{i,i+1}=0$$$, $$$i=1,\ldots,N$$$.

Выходные данные

Единственное число, которое задает минимальное количество усилий, необходимых кондитеру.

Примеры
Входные данные
4
0 0 2 0
0 0 0 5
2 0 0 0
0 5 0 0
Выходные данные
2
Входные данные
5
0 0 2 3 0
0 0 0 5 1
2 0 0 0 7
3 5 0 0 0
0 1 7 0 0
Выходные данные
5