#LYn0001. 我不爱卡常!

我不爱卡常!

题目背景

我不爱卡常!

题目描述

珂朵莉给了你一个长为 nn 的序列 aa,有 mm 次操作。

  1. 把区间 [l,r][l,r] 内所有数都加上 xx。
  2. 查询区间 [l,r][l,r] 内的最大子段和,可以不选数。

输入格式

第一行两个整数 n,mn,m。

第二行 nn 个整数表示序列 aa。

后面 mm 行:

  • 1 l r x:把区间 [l,r][l,r] 内所有数加上 xx。
  • 2 l r:查询区间 [l,r][l,r] 的最大子段和。

输出格式

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

输入输出样例 #1

输入 #1

5 5
-2 -3 -3 -3 -3
2 1 5
1 2 4 4
2 1 5
1 2 3 1
2 3 3

输出 #1

0
3
2

输入输出样例 #2

输入 #2

5 5
-2 3 3 -3 3
2 1 5
1 2 4 -4
2 1 5
1 2 3 1
2 3 3

输出 #2

6
3
0

说明/提示

105≤n,m≤1.3×10510^5 \le n , m \le 1.3\times 10^5,∣ai∣≤1016| a_i | \leq 10^{16},∣x∣≤1016|x|\leq 10^{16}。

保证任意时刻 ∣ai∣≤2×1018|a_i|\leq 2\times 10^{18}。 本题有两个Subtask,数据完全相同

Subtask # 时间限制 空间限制 得分 计分方式 其他
Subtask 1 3000ms 512MB 30PTS Sum -
Subtask 2 1050ms 64MB 70PTS Min 严格时间限制