這是一道模板題。
給定數(shù)列 a[1],a[2],…,a[n],你需要依次進(jìn)行 q 個操作,操作有兩類:
1、l r x:給定 l,r,x,對于所有 i∈[l,r],將 a[i] 加上 x(換言之,將 a[l],a[l+1],…,a[r] 分別加上 x);
2、l r:給定 l,r, ∑ri=la[i]的值 (換言之,求 a[l]+a[l+1]+?+a[r] 的值)。
第一行包含 2 個正整數(shù) n,q,表示數(shù)列長度和詢問個數(shù)。保證 1≤n,q≤10^6 。
第二行 n 個整數(shù) a[1],a[2],…,a[n],表示初始數(shù)列。保證 ∣a[i]∣≤10^6 。
接下來 q 行,每行一個操作,為以下兩種之一:
1、l r x:對于所有 i∈[l,r],將 a[i] 加上 x;
2、l r:輸出∑ri=la[i]的值。 保證 1≤l≤r≤n,∣x∣≤10^6 。
對于每個 2 l r 操作,輸出一行,每行有一個整數(shù),表示所求的結(jié)果。
5 10 2 6 6 1 1 2 1 4 1 2 5 10 2 1 3 2 2 3 1 2 2 8 1 2 3 7 1 4 4 10 2 1 2 1 4 5 6 2 3 4
15 34 32 33 50
數(shù)據(jù)范圍與提示:
對于所有數(shù)據(jù),1≤n,q≤10^6 , ∣a[i]∣≤10^6 , 1≤l≤r≤n, ∣x∣≤10^6 。