Максимальная средняя выработка за окно
Условие
Солнечная электростанция хранит измерения выработки в двух таблицах. В первой таблице для каждого ключа дня записана энергия, выработанная панелями за этот день. Во второй таблице те же ключи сопоставлены с порядковыми номерами дней.
Строки в обеих таблицах могут идти в произвольном порядке. Значение NA в таблице выработки означает, что измерение за соответствующий день отсутствует.
После упорядочивания дней по их порядковым номерам рассматриваются все подряд идущие окна длины k. Для каждого окна вычисляется скользящее среднее только по дням с известным измерением. Если в окне известны значения x_1, x_2, ..., x_m, где m > 0, то его среднее равно A = (x_1 + x_2 + ... + x_m) / m.
Требуется найти наибольшее из средних значений по всем окнам длины k. Гарантируется, что в каждом таком окне есть хотя бы одно известное измерение. Если наибольшее среднее достигается в нескольких окнах, выбирается окно с наименьшим порядковым номером первого дня.
Формат ввода
В первой строке записаны два целых числа n и k — число дней и длина окна.
Следующие n строк образуют таблицу выработки. В каждой строке записаны ключ дня day_id и значение energy. Значение energy равно десятичному числу или строке NA.
Следующие n строк образуют таблицу календаря. В каждой строке записаны ключ дня day_id и целое число day_number — порядковый номер дня.
Каждый ключ дня встречается ровно один раз в каждой из двух таблиц.
Формат вывода
Выведите наибольшее скользящее среднее, округлённое до двух знаков после точки.
При округлении значение, находящееся ровно посередине между двумя вариантами, округляется в большую сторону.
Ограничения
1 <= n <= 2000.
1 <= k <= n.
Длина каждого ключа day_id составляет от 3 до 8 символов и содержит только латинские буквы, цифры и символ _.
1 <= day_number <= n, все значения day_number различны.
Каждое известное значение energy задано не более чем двумя знаками после точки и удовлетворяет 0.00 <= energy <= 150.00.
В каждой последовательности из k подряд идущих дней есть хотя бы одно известное значение energy.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- БВИ по олимпиадам: в какие вузы берут — правила приёма вузов, разобранные построчно, со ссылкой на приказ у каждой строки
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам