Максимум скользящего среднего посылок
Условие
В файле data.csv хранится число посылок, принятых пунктом выдачи в каждый рабочий день. Строки файла расположены в хронологическом порядке.
Необходимо найти наибольшее скользящее среднее числа принятых посылок для окна из k последовательных дней. Для окна, начинающегося в строке с номером s, его среднее равно
A_s = (x_s + x_(s+1) + ... + x_(s+k-1)) / k,
где x_i — значение столбца parcels_received в строке i.
Требуется вывести значение max(A_s) по всем допустимым окнам. Если наибольшее значение достигается у нескольких окон, выбирается окно, которое раньше начинается в файле, однако в ответ всё равно выводится только значение среднего.
Пропусков в столбце parcels_received нет. Так как 1 <= k <= n, каждое рассматриваемое окно содержит ровно k строк.
Формат ввода
В первой и единственной строке stdin задано целое число k — длина окна.
Рядом с программой находится файл data.csv в кодировке UTF-8. Разделитель полей — запятая, первая строка содержит заголовки. В файле имеются столбцы date и parcels_received.
Столбец date содержит дату в формате YYYY-MM-DD. Столбец parcels_received содержит целое число принятых посылок за этот день.
Формат вывода
Выведите наибольшее скользящее среднее с двумя знаками после точки.
Ограничения
В файле data.csv от 300 до 2000 строк с данными, в используемом наборе данных — 360 строк.
1 <= k <= n, где n — число строк с данными в файле.
Длина значения в столбце date равна 10 символам. Даты находятся в диапазоне от 2025-01-01 до 2025-12-31.
35 <= parcels_received <= 149.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт