RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00150

火事(Fire)

설명

JOI 村にはN 個の区画があり,1 からN までの番号が付いている.これらの区画は番号順に一列に並ん
でいる.今,各区画では火事が発生しており,時刻0 における区画i (1 ≦i ≦N) の火の強さはS i (S i > 0)
である.
時刻0 に,区画1 から区画N の方向に風が吹き始めた.隣り合う2 つの区画について,時刻t (0 ≦t) に
おいて風上の区画の火が風下の区画の火より強いとき,時刻t + 1 における風下の区画の火の強さは,時刻
t における風上の区画の火の強さと同じになってしまう.そうでないときは,時刻t + 1 における風下の区
画の火の強さは,時刻t と同じである.すなわち,時刻t (0 ≦t) における区画i (1 ≦i ≦N) の火の強さを
S i(t) と書くとすると,1 ≦t ならば,S i(t) = max{S i−1(t −1), S i(t −1)} となる.ただし,任意のt (0 ≦t) に
対して,S 0(t) = 0 とし,任意のi (1 ≦i ≦N) に対しS i(0) = S i とする.
消防士であるあなたはQ 個の消火活動を計画した.Q 個の計画のうちどれか1 つだけを実施する予定で
ある.j 番目の計画(1 ≦j ≦Q) は,時刻T j に,L j ≦k ≦R j となるすべての区画k に消火剤を撒き,それ
らの区画を消火するというものである.火の強さがs である区画を消火するためにはs リットルの消火剤
が必要である.つまり,j 番目の計画の消火活動にはS Lj(T j) + S L j+1(T j) + · · · + S Rj(T j) リットルの消火剤
が必要である.
どの計画を実行するか吟味するためにも,各計画に必要な消火剤の量が知りたい.
時刻0 における火の強さの情報と消火活動の計画の情報が与えられたとき,各計画に必要な消火剤の量
を求めるプログラムを作成せよ.

제약

• 1 ≦N ≦200 000.
• 1 ≦Q ≦200 000.
• 1 ≦S i ≦1 000 000 000 (1 ≦i ≦N).
• 1 ≦T j ≦N (1 ≦j ≦Q).
• 1 ≦L j ≦R j ≦N (1 ≦j ≦Q).

  1. (1 点) N ≦200,Q ≦200.
  2. (6 点) T1 = T2 = · · · = TQ.
  3. (7 点) L j = R j (1 ≦j ≦Q).
  4. (6 点) S i ≦2 (1 ≦i ≦N).
  5. (80 点) 追加の制約はない.
입력 형식

入力は以下の形式で標準入力から与えられる.入力される値はすべて整数である.
N Q
S 1 . . . S N
T1 L1 R1
...
TQ LQ RQ

출력 형식

標準出力にQ 行で出力せよ.第j 行目(1 ≦j ≦Q) にはj 番目の計画に必要な消火剤の量を出力せよ.

第19 回日本情報オリンピック(JOI 2019/2020) 本選
2020 年2 月9 日(茨城県つくば市)

예제 1
입력
5 5
9 3 2 6 5
1 1 3
2 1 5
3 2 5
4 3 3
5 3 5
출력
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
출력
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
출력
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
출력
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
출력
25
30
12
32
2
24
38
10
14
40
8
28
24
32
4
2
28
28
12
40
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2020 Final

평가 및 의견

火事(Fire)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

火事(Fire)

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8