printЗадачи командного чемпионата

printK. Гонка преследования

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

В гонке преследования участники стартуют в таком порядке и с такими интервалами, с какими они пришли на финиш в спринте. Участник, пришедший первым к финишу по результатам спринта, стартует первым. Участник, показавший время в спринте на `t` секунд больше победителя, стартует на `t` секунд позже первого участника. Чтобы во время старта спортсмены не мешали друг другу, участники с близким временем должны стартовать по разным дорожкам. Дорожка становится доступной для старта очередного участника через `D` секунд.
Напишите программу, вычисляющую по результатам спринта минимальное количество стартовых дорожек в гонке преследования.
В первой строке ввода содержатся два целых числа – число участников `N` (`1\ ≤\ N\ ≤\ 1000`) и интервал времени в секундах между стартами участников по одной дорожке `D` (`1\ ≤\ D\ ≤\ 100`). Далее следует `N` строк, `i`-я строка содержит время финиша `i`-го участника в спринте в формате `h`:`"mm"`:`"ss"`, где `h` (`0\ ≤\ h\ <\ 20`) – часы, `"mm"` (`00\ ≤\ "mm"\ ≤\ 59`) – минуты, а `"ss"` (`00\ ≤\ "ss"\ ≤\ 59`) – секунды. В спринте используется раздельный старт участников с интервалом в 1 минуту, т.е. `i`-й участник стартует в момент времени (`i-1`):00, результат участника вычисляется как разница между временем старта и временем финиша. Время финиша у всех участников больше времени старта.
Вывести одно число – минимальное число стартовых дорожек в гонке преследования.

Пример ввода

3 10
0:09:15
0:10:00
0:11:05

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

2
loading