Самый загруженный день выдач

тема: Временные ряды и окна · уровень: средний

Условие

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

Иногда отметка времени неизвестна: тогда вместо неё записан символ -. Такие строки не участвуют в подсчёте, так как дату выдачи по ним определить нельзя. Даже если несколько строк полностью совпадают, каждая строка считается отдельной зарегистрированной выдачей.

Для каждой даты d определим нагрузку C(d) как количество строк с известной отметкой времени, у которых первые 10 символов отметки равны d: C(d) = количество выдач с датой d. Требуется вывести дату с максимальным значением C(d). Если максимум достигается в несколько дней, выводится наиболее ранняя календарная дата. Все даты записаны в формате YYYY-MM-DD, поэтому наиболее ранняя из них также лексикографически меньше остальных.

Округление не применяется: ответом является дата в формате YYYY-MM-DD.

Формат ввода

В первой строке дано целое число n — число записей о выдачах.

В следующих n строках содержатся отметка времени и идентификатор книги в одном из форматов:

YYYY-MM-DD HH:MM book_id

или

- book_id

Формат вывода

Выведите одну дату в формате YYYY-MM-DD — день с наибольшей нагрузкой.

Ограничения

1 <= n <= 2000.

1 <= book_id <= 1000000.

Известная отметка времени имеет длину 16 символов и формат YYYY-MM-DD HH:MM.

Дата известной отметки находится в диапазоне от 2024-01-01 до 2025-12-31 и является существующей календарной датой.

Часы находятся в диапазоне от 00 до 23, минуты — от 00 до 59.

Символ - имеет длину 1 и означает пропущенную отметку времени.

Во входе есть хотя бы одна строка с известной отметкой времени.

Решить задачу с автопроверкой на Python →

Куда дальше