EduBrick

D. Прибавление на отрезке

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

Запросы двух видов: прибавить xx ко всем элементам отрезка и узнать сумму на отрезке.

Здесь появляется вторая половина приёма - отложенная метка.

Формат ввода

В первой строке - числа nn и qq (1≤n,q≤2⋅1051 \le n, q \le 2 \cdot 10^5).

Во второй - nn чисел, по модулю не превосходящих 10910^9.

Далее qq строк. «1 l r x» - прибавить xx (∣x∣≤1000|x| \le 1000) на отрезке. «2 l r» - сумма на отрезке.

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

На каждый запрос второго типа выведите сумму.

Примеры

ввод
5 3
1 2 3 4 5
2 1 5
1 2 4 10
2 1 5
вывод
15
45
ввод
3 3
1 1 1
1 1 3 5
2 1 1
2 1 3
вывод
6
18
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.