AT_joi2020ho_e.火事 (Fire)
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 村有 N 个区块,编号为 1 到 N。这些区块按编号顺序排成一行。现在,每个区块都发生了火灾,时刻 0 时第 i 个区块(1≤i≤N)的火势为 Si(Si>0)。
在时刻 0,从区块 1 向区块 N 的方向开始刮风。对于相邻的两个区块,在时刻 t(0≤t)时,如果上风区块的火势比下风区块的火势强,则在时刻 t+1 时,下风区块的火势会变为时刻 t 上风区块的火势。否则,在时刻 t+1 时,下风区块的火势保持不变。也就是说,设时刻 t(0≤t)第 i 个区块的火势为 Si(t),则对于 1≤t,有 Si(t)=max{Si−1(t−1),Si(t−1)}。其中,任意 t(0≤t)下 S0(t)=0,任意 i(1≤i≤N)下 Si(0)=Si。
你作为消防员,计划了 Q 次灭火行动。你只会选择其中一个计划来执行。第 j 个计划(1≤j≤Q)是在时刻 Tj,对所有满足 Lj≤k≤Rj 的区块 k 喷洒灭火剂,将这些区块的火扑灭。扑灭火势为 s 的区块需要 s 升灭火剂。也就是说,第 j 个计划需要 SLj(Tj)+SLj+1(Tj)+⋯+SRj(Tj) 升灭火剂。
为了选择要执行的计划,你需要知道每个计划所需的灭火剂量。
给定时刻 0 的火势信息和灭火计划的信息,请编写程序,计算每个计划所需的灭火剂总量。
输入格式
输入从标准输入读入,格式如下。所有输入均为整数。
N Q
S1 S2 ⋯ SN
T1 L1 R1
⋮
TQ LQ RQ
输出格式
输出 Q 行。第 j 行(1≤j≤Q)输出第 j 个计划所需的灭火剂总量。
输入输出样例
输入#1
5 5 9 3 2 6 5 1 1 3 2 1 5 3 2 5 4 3 3 5 3 5
输出#1
21 39 33 9 27
输入#2
10 10 3 1 4 1 5 9 2 6 5 3 1 1 6 2 8 10 4 2 7 8 3 3 6 1 10 3 2 8 5 1 9 7 4 5 9 7 9 10 10 10
输出#2
28 21 34 4 64 43 55 9 27 9
输入#3
10 10 3 1 4 1 5 9 2 6 5 3 1 6 6 2 8 8 4 2 2 8 3 3 6 1 1 3 4 4 5 5 5 7 10 10 9 8 8 10 7 7
输出#3
9 9 3 4 3 4 5 9 9 9
输入#4
10 10 3 1 4 1 5 9 2 6 5 3 7 1 6 7 8 10 7 2 7 7 3 3 7 1 10 7 2 8 7 1 9 7 4 5 7 7 9 7 10 10
输出#4
28 27 34 4 64 43 55 9 27 9
输入#5
20 20 2 1 2 2 1 1 1 1 2 2 2 1 2 1 1 2 1 2 1 1 1 1 14 2 3 18 4 10 15 8 2 17 9 20 20 4 8 19 7 2 20 11 1 5 13 2 8 20 1 20 2 12 15 7 1 14 12 7 18 14 2 17 9 19 20 12 12 12 6 2 15 11 2 15 19 12 17 4 1 20
输出#5
25 30 12 32 2 24 38 10 14 40 8 28 24 32 4 2 28 28 12 40
说明/提示
数据范围
- 1≤N≤200000。
- 1≤Q≤200000。
- 1≤Si≤1000000000(1≤i≤N)。
- 1≤Tj≤N(1≤j≤Q)。
- 1≤Lj≤Rj≤N(1≤j≤Q)。
子任务
1.(1 分)N≤200,Q≤200。
2.(6 分)T1=T2=⋯=TQ。
3.(7 分)Lj=Rj(1≤j≤Q)。
4.(6 分)Si≤2(1≤i≤N)。
5.(80 分)无额外限制。
样例说明 1
- 时刻 0 各区块的火势为 9,3,2,6,5。
- 时刻 1 各区块的火势为 9,9,3,6,6,因此第 1 个计划所需灭火剂为 9+9+3=21 升。
- 时刻 2 各区块的火势为 9,9,9,6,6,因此第 2 个计划所需灭火剂为 9+9+9+6+6=39 升。
- 时刻 3 各区块的火势为 9,9,9,9,6,因此第 3 个计划所需灭火剂为 9+9+9+6=33 升。
- 时刻 4 各区块的火势为 9,9,9,9,9,因此第 4 个计划所需灭火剂为 9 升。
- 时刻 5 各区块的火势为 9,9,9,9,9,因此第 5 个计划所需灭火剂为 9+9+9=27 升。
输入样例 1 满足子任务 1,5 的限制。
样例说明 2
输入样例 2 满足子任务 1,5 的限制。
样例说明 3
输入样例 3 满足子任务 1,3,5 的限制。
样例说明 4
输入样例 4 满足子任务 1,2,5 的限制。
样例说明 5
输入样例 5 满足子任务 1,4,5 的限制。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?