Задача A. Банк

Автор:В. Аксёнов (Жюри XXI командной олимпиады школьников СПб по информатике)
Входной файл: bank.in   Ограничение времени:2 сек
Выходной файл: bank.out   Ограничение памяти:256 Мб

Условие

В одном далеком мире, в славном городе Эрбовле открыли новый банк. В банке есть m сотрудников, работающих с клиентами, и один главный бухгалтер.

Для решения своих проблем в банк приходят гномы. Известно, что i-й гном приходит в банк через ti минут после открытия банка. Сначала ему нужно провести ai минут у одного из m сотрудников, а потом еще bi минут в офисе главного бухгалтера.

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

Очередь к сотрудникам общая, при этом гном из очереди идет к первому освободившемуся сотруднику. Если в банк одновременно приходят два гнома, то первым в очередь к сотрудникам встает тот, чей номер меньше. Если гном начал обслуживаться у сотрудника в момент x, то он освобождается в момент x+ai, в этот момент другой гном может начать обслуживаться у этого же сотрудника. Гном, пришедший в банк в момент t, может начать обслуживаться у сотрудника в любой момент, начиная с t.

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

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

Формат входного файла

В первой строке заданы два целых числа n и m (1 ≤ n ≤ 100 000, 1 ≤ m ≤ 10) — число гномов и сотрудников, соответственно. Далее, в n строках задано по три целых числа ti, ai и bi (1 ≤ ti, ai, bi ≤ 109) — время прихода i-го гнома, сколько минут i-й гном должен провести у сотрудника банка и сколько минут он должен провести в офисе главного бухгалтера. Известно, что гномы заданы в порядке прихода в банк, то есть для любой пары i < j выполняется ti ≤ tj,

Формат выходного файла

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

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

Входной файл (bank.in) Выходной файл (bank.out)
1
4 2
1 3 3
1 2 2
2 2 1
2 1 4
8
5
9
13

Задача B. Годы летят

Автор:Г. Гренкин
Входной файл: input.txt   Ограничение времени:1 сек
Выходной файл: output.txt   Ограничение памяти:256 Мб

Условие

В пожилом возрасте Марфа Геннадьевна совершила прыжок с парашютом. Как говорится, годы летят...

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

Здесь , где e = 2.71828... — постоянная Эйлера, H — начальная высота, g = 9.8 м/с2 — ускорение свободного падения, m — масса Марфы Геннадьевны. Марфа Геннадьевна пренебрегла начальной горизонтальной скоростью за счет движения самолета и приняла начальную вертикальную скорость равной 0.

Требуется определить, через какое время Марфа Геннадьевна достигла высоты h*, на которой она раскрыла парашют.

Формат входного файла

Входной файл содержит вещественные числа H h m k.

H и h* заданы в км, m в кг, k в кг/с.

Формат выходного файла

Требуется вывести в выходной файл единственное вещественное число — время до раскрытия парашюта в секундах по меньшей мере с 3-мя точными знаками после запятой.

Ограничения

2 ≤ H ≤ 100, 1 ≤ h≤ H.

50 ≤ m ≤ 150.

0.1 ≤ k ≤ 10.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
3 1.5 85 1
18.1178
2
20 12 92 0.5
41.9407

Задача C. Осенний парк

Автор:Г. Корнеев, О. Давыдов, В. Аксёнов (Жюри XXI командной олимпиады школьников СПб по информатике)
Входной файл: park.in   Ограничение времени:2 сек
Выходной файл: park.out   Ограничение памяти:256 Мб

Условие

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

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

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

Формат входного файла

В первой строке входного файла заданы два числа h и w: размеры парка. Следующие h~строк содержат по w~символов в каждой. Символ "." означает, что в соответствующей клетке дорожка или газон, по которому можно ходить. Символ "#" означает препятствие. Символы "E" и "X" означают вход в парк и выход из него соответственно.

Ограничения: 1 ≤ h ≤ 500, 1 ≤ w ≤ 500, символы "E" и "X" встречаются во входном файле ровно по одному разу. Обратите внимание, что вход и выход не обязательно находятся на границе парка: например, клеткой входа может быть расположенный в парке вестибюль метро, из которого Вениамин собирается выходить на своем пути.

Формат выходного файла

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

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

Входной файл (park.in) Выходной файл (park.out)
1
6 9
.........
..######X
..#......
.E..####.
..##...#.
.....#...
15

0.039s 0.005s 17