Максимум среднего числа выдач
Условие
Библиотека фиксирует число выдач книг за каждый день наблюдения. Иногда данные за день не поступают: тогда вместо числа выдач записано значение -1.
Для каждого запроса задана длина окна k. Рассматриваются все подряд идущие отрезки из k дней, в которых нет пропущенных данных. Для такого отрезка со значениями x_1, x_2, ..., x_k вычисляется скользящее среднее
(x_1 + x_2 + ... + x_k) / k.
Для каждого запроса требуется вывести наибольшее скользящее среднее среди допустимых окон указанной длины. Окна, содержащие хотя бы одно значение -1, не рассматриваются. Гарантируется, что для каждого запроса существует хотя бы одно допустимое окно.
При равенстве наибольших значений выбирается окно, которое начинается раньше, хотя в выводе печатается только значение среднего.
Формат ввода
В первой строке дано целое число n — число дней наблюдения.
В следующих n строках дано по одному целому числу a_i — число выдач в i-й день или -1, если данные за этот день отсутствуют.
В следующей строке дано целое число q — число запросов.
В следующих q строках дано по одному целому числу k — длина окна для очередного запроса.
Формат вывода
Выведите q строк. В строке с номером j выведите наибольшее скользящее среднее для запроса с номером j.
Каждое значение выводится ровно с двумя знаками после точки. Округление выполняется по правилу: если третья цифра после точки равна 5 или больше, вторая цифра увеличивается на 1.
Ограничения
1 ≤ n ≤ 2000.
-1 ≤ a_i ≤ 10000.
1 ≤ q ≤ 2000.
1 ≤ k ≤ n.
Для каждого запроса существует хотя бы один отрезок из k подряд идущих дней, все значения в котором не равны -1.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать