Самый тревожный день в теплице
Условие
В теплице установлены датчики температуры. В первой таблице находится реестр датчиков: для каждого датчика указан идентификатор и температура, начиная с которой требуется тревога.
Во второй таблице записаны измерения. Строка измерения содержит отметку времени, идентификатор датчика и измеренную температуру. Значение NA означает, что измерение не удалось получить; такие строки не учитываются.
Для каждого календарного дня d требуется посчитать число тревог. Днём измерения считается первые 10 символов его отметки времени, то есть строка формата YYYY-MM-DD. Тревога возникает, если температура измерения не равна NA и не меньше порога соответствующего датчика. Формально
A(d) = сумма I(temperature >= threshold) по всем измерениям дня d,
где I равно 1, если условие выполняется, и 0 иначе. Требуется вывести дату дня с наибольшим значением A(d).
Если наибольшее число тревог достигается в нескольких днях, выводится лексикографически меньшая дата.
Округление не применяется, так как ответом является дата.
Формат ввода
В первой строке даны два целых числа n и m — число датчиков и число измерений.
В следующих n строках находятся строки первой таблицы: sensor_id threshold, где sensor_id — идентификатор датчика, а threshold — его порог тревоги.
В следующих m строках находятся строки второй таблицы: timestamp sensor_id temperature, где timestamp имеет формат YYYY-MM-DDThh:mm, а temperature — целое число или строка NA.
Каждый идентификатор датчика из второй таблицы присутствует в первой таблице.
Формат вывода
Выведите одну дату формата YYYY-MM-DD — день с наибольшим числом тревог.
Ограничения
1 <= n <= 500.
1 <= m <= 1999, n + m <= 2000.
1 <= sensor_id <= 1000000.
-40 <= threshold <= 80.
Если температура не равна NA, то это целое число от -60 до 100.
Длина строки timestamp равна 16, дата и время в ней корректны.
Длина строки NA равна 2.
Гарантируется, что имеется хотя бы одно измерение, вызывающее тревогу.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт