题目背景
因为数据包过大,所以本题只测试 Subtask 4 & 5。
Subtask 1 & 2 & 3 请在 这里 测试。
题目描述
给定一个长为 N 的序列 Si,刚开始为时刻 0。
定义 t 时刻第 i 个数为 Si(t),那么:
⎩⎨⎧S0(t)=0Si(0)=SiSi(t)=max{Si−1(t−1),Si(t−1)}你将对 Q 个操作进行评估,第 j 个操作让时刻 Tj 时的区间 [Lj,Rj] 全部变为 0。
执行一个操作需要一定的代价,执行第 j 个操作需要以下的代价:
k=Lj∑RjSk(Tj)
求每个操作需要的代价。
注意:每个操作都是独立的。
输入格式
第一行两个整数 N,Q 代表序列长度和操作数。
第二行 N 个整数 Si 代表这个序列。
接下来 Q 行每行三个整数 Tj,Lj,Rj 代表一个操作。
输出格式
Q 行每行一个整数代表这个操作需要的代价。
提示
样例 1 解释
- Si(0)={9,3,2,6,5}。
- Si(1)={9,9,3,6,6},第一个操作需要的代价为 9+9+3=21。
- Si(2)={9,9,9,6,6},第二个操作需要的代价为 9+9+9+6+6=39。
- Si(3)={9,9,9,9,6},第三个操作需要的代价为 9+9+9+9+6=33。
- Si(4)={9,9,9,9,9},第四个操作需要的代价为 9。
- Si(5)={9,9,9,9,9},第五个操作需要的代价为 27。
数据规模与约定
本题采用捆绑测试。
- Subtask 1(1 pts):N,Q≤200。
- Subtask 2(6 pts):Tj 互相相等。
- Subtask 3(7 pts):Lj=Rj。
- Subtask 4(6 pts):Si≤2。
- Subtask 5(80 pts):无特殊限制。
对于 100% 的数据:
- 1≤N≤2×105。
- 1≤Q≤2×105。
- 1≤Si≤109。
- 1≤Tj≤N。
- 1≤Lj≤Rj≤N。
说明
翻译自 第19回日本情報オリンピック 本選 E 火事。