D. 皮卡丘

    Type: Default File IO: pi 1000ms 256MiB

皮卡丘

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小 D 的皮卡丘可以产生 nn 种不同的电压,第 ii 种电压值为 aia_i。当皮卡丘需要释放电击技能时,需要选择两种电压 l,r(lr)l, r(l \leq r) 对应产生的电压值为 alara_l-a_r

小 D 对他的皮卡丘进行了 mm 次训练,训练有以下两种:

  • 增幅训练,小 D 按照指标 l,r,xl, r, x 训练皮卡丘,使得皮卡丘能释放的第 ll 种电压到第 rr 种电压的电压值 +=x+=x
  • 攻击训练,小 D 按照指标 l,r,kl, r, k 训练皮卡丘,皮卡丘在区间 [l,r][l, r] 中选出电压值并打出 kk 次电击。为了提升训练效果,这 kk 次电击的组合方式必须两两不相同(不同攻击训练使用的电击技能之间没有限制)。两次电击的组合方式相同的定义是对于它们所使用的电压值对 $\left(a_{l_0}, a_{r_0}\right), \left(a_{l_1}, a_{r_1}\right)$ 有 l0=l1l_0=l_1r0=r1r_0=r_1

小 D 想知道,在每次攻击训练时,皮卡丘最大能打出多少电击伤害?电击伤害定义为训练中所有电击技能电压值之和。

输入格式

第一行两个整数 n,mn, m 意义如题面所示。

接下来一行 nn 个整数,表示皮卡丘能释放的电压值。

接下来 mm 行每行表示一次训练:

  • 增幅训练形如 1 l r x1\ l\ r\ x
  • 攻击训练形如 2 l r k2\ l\ r\ k

输出格式

对于每次攻击训练,输出一行表示皮卡丘在这次训练中最高可以打出多少伤害。

6 5
1 1 4 5 1 4
2 4 6 3
2 1 6 2
1 1 4 -2
1 4 6 1
2 2 5 5
5
7
2

样例解释 1

第一次攻击训练,皮卡丘可以释放电击 $\left(a_4, a_4\right),\left(a_4, a_5\right),\left(a_4, a_6\right)$,产生的电击伤害为

(55)+(51)+(54)=5(5-5)+(5-1)+(5-4)=5

第二次攻击训练,皮卡丘可以释放电击 (a3,a5),(a4,a5)\left(a_3, a_5\right),\left(a_4, a_5\right),产生的电击伤害为

(41)+(51)=7(4-1)+(5-1)=7

第三次攻击训练,此时电压序列变为了 [1,1,2,4,2,5][-1,-1,2,4,2,5],皮卡丘可以释放电击 $\left(a_2, a_2\right),\left(a_3, a_3\right),\left(a_3, a_5\right),\left(a_4, a_4\right),\left(a_4, a_5\right)$,产生的电击伤害为

(1(1))+(22)+(22)+(44)+(42)=2(-1-(-1))+(2-2)+(2-2)+(4-4)+(4-2)=2

附加样例

d.in
d.out

数据范围与提示

  • 对于测试点 1-2,满足 n,m100n, m \leq 100
  • 对于测试点 3-7,满足 n,m1000,k2000n, m \leq 1000, \sum k \leq 2000
  • 对于测试点 8-10,满足 n,m1000n, m \leq 1000
  • 对于测试点 11-13,满足 k=1k=1
  • 对于测试点 14-16,满足没有修改操作
  • 对于测试点 17-20,没有特殊限制
  • 对于所有的数据,$n, m \leq 10^5 , 1 \leq l \leq r \leq n , \Sigma k \leq 3 \times 10^5 ,-10^6 \leq a_i, x \leq 10^6$
  • 保证每次攻击训练一定能打出 kk 次互不完全相同的电击
  • 为了完成训练指标,皮卡丘有时不得不打出电压为负数的电击

1028

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-10-28 18:00
End at
2025-10-28 20:00
Duration
2 hour(s)
Host
Partic.
16