EduBrick

B. Прибавление на отрезке и сумма

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

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

Формат ввода

В первой строке nn и mm (1≤n,m≤2⋅1051 \le n, m \le 2 \cdot 10^5). Во второй строке nn чисел aia_i (∣ai∣≤109|a_i| \le 10^9).

В следующих mm строках запросы: 1 l r x — прибавить xx (∣x∣≤104|x| \le 10^4) ко всем элементам отрезка, 2 l r — сумма на отрезке. Всюду 1≤l≤r≤n1 \le l \le r \le n.

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

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

Примеры

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