#P1253. 数列分块出门

数列分块出门

题目描述

给出一个长为 nn 的数列,以及 mm 个操作,操作为以下两种之一:

0 l r c:表示将位于 [l,r][l, r] 的之间的数字都加 cc

1 l r:询问区间 [l,r][l,r]ai2\sum a_i ^2 的值。

输入格式

第一行输入一个数字 n,mn,m

第二行输入 nn 个数字,第 ii 个数字为 aia_i,以空格隔开。

接下来输入 mm 行操作。

输出格式

对于每次询问,输出一行一个数字表示答案。

【输入样例】

5 5
8 3 1 9 6 
1 1 2
0 5 5 3
0 1 4 4
1 1 2
0 3 3 -1 

【输出样例】

73
193 

【提示】

  • 1n,m1061 \le n ,m \le 10^6
  • 数据保证在 long long 范围内