Qualification Round of the Championship 2017
A. Оттепель
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Уставшие от необычно теплой зимы, студенты ВШ ЭКН решили узнать, действительно ли это самая длинная оттепель за всю историю наблюдений за погодой. Они обратились к синоптикам, а те, в свою очередь, занялись исследованиями статистики за прошлые годы. Их интересует, сколько дней длилась самая длинная оттепель.

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

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

Cначала вводится число N – общее количество рассматриваемых дней (1 ≤ N ≤ 100). В следующей строке задается N целых чисел, разделенных пробелами. Каждое число – среднесуточная температура в соответствующий день. Температуры – целые числа, принадлежащие диапазону от –50 до 50.

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

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

Примеры
Входные данные
6
-20 30 -40 50 10 -10
Выходные данные
2
Входные данные
8
10 20 30 1 -10 1 2 3
Выходные данные
4
Входные данные
5
-10 0 -10 0 -10
Выходные данные
0
Примечание

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

1) Рассматриваются 6 дней. Самая продолжительная оттепель была на 4-й и 5-й день (50 и 10 градусов соответственно)

2) Самая продолжительная оттепель была в первые 4 дня

3) Дней с положительной температурой не было

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

Телефонные номера в адресной книге мобильного телефона студента Васи имеют один из следующих форматов:

 + 7 < код >  < номер > 

8 < код >  < номер > 

 < номер > 

где  < номер >  — это семь цифр, а  < код >  — это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак " - " между любыми двумя цифрами (см. пример).

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

Два телефонных номера совпадают, если у них равны коды и равны номера. Например,  + 7(916)0123456 и 89160123456 — это один и тот же номер.

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

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

Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов.

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

Для каждого телефонного номера в адресной книге выведите YES (заглавными буквами), если он совпадает с тем телефонным номером, который Вася хочет добавить в адресную книгу или NO (заглавными буквами) в противном случае.

Пример
Входные данные
8(495)430-23-97
+7-4-9-5-43-023-97
4-3-0-2-3-9-7
8-495-430
Выходные данные
YES
YES
NO

C. На лифтах через пропасть
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

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

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

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

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

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

В первой строке вводится целое число n – количество лифтов (1 ≤ n ≤ 100). Следующие n строк содержат описания лифтов.

Каждое описание состоит из четырех целых чисел: l, u, s – самое нижнее, самое верхнее и начальное положение лифта относительно края пропасти в метрах ( - 100 ≤ l ≤ s ≤ u ≤ 100, l < u), и d – направление движения лифта в начальный момент (d = 1 означает, что лифт двигается вверх, d = -1 – вниз).

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

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

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

D. Локальная сеть
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Рустэм работает в Лаборатории Суперкомпьютерного Моделирования (ЛСМ) системным администратором локальной сети ВШ ЭКН. Его сеть соединяет множество аудиторий и располагается в нескольких корпусах.

Сеть постоянно расширяется и Рустэму поручено проложить новый участок сети. У него есть схема, на которой указаны все возможные соединения между парами аудиторий и для каждого соединения он знает длину провода, необходимого для его прокладки. Его цель состоит в том, чтобы все аудитории были подключены к сети (возможно через другие аудитории).

С связи с системой госзакупок ЛСМ, в которой работает Рустэм, покупает кабель только в одном специализированном магазине. В магазине продается кабель пятой и шестой категорий по цене P5 и P6 рублей за метр. При этом в наличии имеется только Q5 метров кабеля пятой категории и Q6 метров кабеля шестой категории.

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

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

В первой строке входного файла содержится число N — количество аудиторий, которые необходимо соединить и M — количество возможных соединений (1 ≤ N ≤ 1000, 1 ≤ M ≤ 10000).

Следующие M строк содержат описание возможных соединений. Каждое описание состоит из трех чисел A, B и L — где A и B задают номера квартир, а L — длина соединения между ними (1 ≤ L ≤ 100). Квартиры занумерованы от 1 до N.

Последняя строка входного файла содержит числа P5, Q5, P6, Q6 – цену и количество кабеля пятой и шестой категории соответственно (1 ≤ P, Q ≤ 10000).

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

Если все аудиториии можно соединить в сеть, то следует вывести N строк, описывающих план сети. Первая строка должна содержать стоимость прокладки сети. Следующие N - 1 строк должны содержать описание соединений, представленных двумя числами каждое: Ai и Ci, где Ai — номер соединения в списке возможных соединений (от 1 до M), а Ci задает категорию кабеля и может принимать значения 5 или 6. Если планов несколько — выведите любой из них.

Если все аудитории соединить невозможно выведите слово Impossible.

Пример
Входные данные
6 7
1 2 7
2 6 5
1 4 8
2 3 5
3 4 5
5 6 6
3 5 3
2 11 3 100
Выходные данные
65
7 5
2 6
4 6
5 6
1 5