Самый загруженный день метеостанции

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

Условие

Метеостанции передают измерения температуры в течение суток. Каждая строка журнала содержит отметку времени, код станции и значение температуры. Иногда датчик не передаёт значение, и вместо температуры записывается NA.

Нагрузкой станции в дату называется число строк этой станции с данной календарной датой, в которых температура указана. Повторные строки считаются отдельными измерениями. Строки с температурой NA в нагрузку не входят.

Для каждого кода станции из запроса требуется определить дату с наибольшей нагрузкой. Если наибольшая нагрузка достигается в нескольких датах, выведите наиболее раннюю дату.

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

Формат ввода

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

В следующих n строках записаны три значения: отметка времени timestamp, код станции station и температура temperature. Отметка времени имеет формат YYYY-MM-DDTHH:MM, температура является целым числом или строкой NA.

В следующих q строках записаны коды станций из запроса. Коды в запросе не повторяются.

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

Выведите q строк. В строке с номером i выведите дату YYYY-MM-DD с наибольшей нагрузкой для станции из i-й строки запроса.

Ограничения

1 ≤ n ≤ 2000.

1 ≤ q ≤ 20.

Длина кода станции составляет от 2 до 12 символов и содержит только латинские буквы, цифры и символ _.

Год в отметке времени равен 2024, месяц находится в диапазоне от 01 до 12, день корректен для данного месяца, час находится в диапазоне от 00 до 23, минута — от 00 до 59.

Если температура указана, то это целое число от -60 до 60 включительно. Иначе записано ровно NA.

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

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

Куда дальше