EduBrick

G. Лучшее среднее при изменениях

4000 мс · 256 МБ · всё или ничего

То же, что в предыдущей задаче, но добавляется операция: прибавить xx ко всем элементам отрезка.

Наблюдение про длины 2 и 3 остаётся верным — оно не зависит от значений. Значит нужны те же два массива PP и TT, но теперь они должны переживать прибавление на отрезке.

Формат ввода

В первой строке nn и qq (2≤n≤1052 \le n \le 10^5, 1≤q≤1051 \le q \le 10^5). Во второй — nn чисел aia_i (1≤ai≤1091 \le a_i \le 10^9). Далее qq строк: 1 l r x — прибавить xx на отрезке (1≤x≤1091 \le x \le 10^9), или 2 l r (l<rl < r) — наибольшее среднее подотрезка длины не меньше двух внутри [l,r][l, r].

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

Для каждого запроса второго типа выведите ответ на отдельной строке.

Примеры

ввод
3 3
2 1 2
2 1 3
1 2 2 4
2 1 3
вывод
1.666667
3.500000
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.