Сервер получает запросы на передачу данных.
Данные каждого запроса записываются в буфер вместимостью K Кбайт.
Если данные очередного запроса не помещаются в буфере, сервер сначала создаёт резервную копию всех находящихся в нём данных и очищает буфер, а затем записывает данные запроса.
Время создания копии совпадает со временем регистрации запроса, вызвавшего копирование.
После последнего запроса оставшиеся в буфере данные не копируются.
Напишите программу, которая определяет идентификатор клиента, передавшего наибольший суммарный объём данных до 12:00:00, и сумму объёмов трёх наибольших резервных копий, созданных с 12:00:00 по 17:59:59 включительно.
Если наибольший объём передали несколько клиентов, выберите наименьший идентификатор.
Входные данные
В первой строке файла записаны два натуральных числа: N (N < 1 000 000) — количество запросов и K (K < 1 000 000) — вместимость буфера в Кбайт.
Каждая из следующих N строк содержит время регистрации запроса в формате ЧЧ:ММ:СС, идентификатор клиента C (C < 1 000 000) и объём данных S в Кбайт (0 < S < K).
Запросы записаны в хронологическом порядке.
Гарантируется, что в указанном интервале создано не менее трёх резервных копий.
Выходные данные
В ответе запишите два числа: сначала идентификатор клиента, затем сумму объёмов трёх резервных копий в Кбайт.
Типовой пример организации данных во входном файле
8 100
08:00:00 11 30
09:00:00 22 70
10:00:00 11 25
11:30:00 22 40
12:00:00 33 50
13:00:00 33 60
17:00:00 22 50
18:00:00 44 60
До 12:00:00 клиент 22 передал 110 Кбайт — больше остальных.
В заданном интервале созданы копии объёмом 65, 50 и 60 Кбайт.
Ответ для примера: 22 175.
Типовой пример имеет иллюстративный характер.
Для выполнения задания используйте данные из прилагаемого файла.
Как решать — два шага (не как в демоверсии и не как в сентябрьской пробе).
1) Утренний лидер. Считаем объёмы клиентов только до 11:59:59.
Удобно: СУММЕСЛИМН с условием по времени.
В ответ — номер клиента с наибольшей утренней суммой: 1131 (его утренняя сумма 75674).
2) Дневные копии. Возвращаемся к исходному порядку строк файла.
По времени (A) не сортируем.
Идём сверху вниз, копим буфер до лимита K (31800); при переполнении, если время запроса с 12:00:00 по 17:59:59, запоминаем размер копии.
Три самые большие такие копии: 31799 + 31793 + 31793 = 95385.
Ответ: 1131 95385.