#ATDPW. 区间激活最大得分(Intervals)

0

区间激活最大得分(Intervals)

区间激活最大得分(Intervals)

题目描述

長さ N N の 0 と 1 からなる文字列を考えます。 この文字列のスコアを次のように計算します。

  • 各 i i (1 ≤ i ≤ M 1\ \leq\ i\ \leq\ M ) について、li l_i 文字目から ri r_i 文字目までに 1 がひとつ以上含まれるならば、スコアに ai a_i を加算する。

文字列のスコアの最大値を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M l1 l_1 r1 r_1 a1 a_1 l2 l_2 r2 r_2 a2 a_2 : : lM l_M rM r_M aM a_M

输出格式

文字列のスコアの最大値を出力せよ。

样例输入 #1

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

样例输出 #1

20

样例输入 #2

3 4
1 3 100
1 1 -10
2 2 -20
3 3 -30

样例输出 #2

90

样例输入 #3

1 1
1 1 -10

样例输出 #3

0

样例输入 #4

1 5
1 1 1000000000
1 1 1000000000
1 1 1000000000
1 1 1000000000
1 1 1000000000

样例输出 #4

5000000000

样例输入 #5

6 8
5 5 3
1 1 10
1 6 -8
3 6 5
3 4 9
5 5 -2
1 3 -6
4 6 -7

样例输出 #5

10

数据范围

制約

  • 入力はすべて整数である。
  • 1 ≤ N ≤ 2 × 105 1\ \leq\ N\ \leq\ 2\ ×\ 10^5
  • 1 ≤ M ≤ 2 × 105 1\ \leq\ M\ \leq\ 2\ ×\ 10^5
  • 1 ≤ li ≤ ri ≤ N 1\ \leq\ l_i\ \leq\ r_i\ \leq\ N
  • ∣ai∣ ≤ 109 |a_i|\ \leq\ 10^9

Sample Explanation 1

10001 のスコアは a1 + a3 = 10 + 10 = 20 a_1\ +\ a_3\ =\ 10\ +\ 10\ =\ 20 となります。

Sample Explanation 2

100 のスコアは a1 + a2 = 100 + (−10) = 90 a_1\ +\ a_2\ =\ 100\ +\ (-10)\ =\ 90 となります。

Sample Explanation 3

0 のスコアは 0 0 となります。

Sample Explanation 4

答えは 32-bit 整数型に収まらない場合があります。

Sample Explanation 5

例えば、101000 のスコアは $a_2\ +\ a_3\ +\ a_4\ +\ a_5\ +\ a_7\ =\ 10\ +\ (-8)\ +\ 5\ +\ 9\ +\ (-6)\ =\ 10$ となります。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1800。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~5 样例
1 25 6~8 小规模与边界测试数据
2 30 9~16 中等规模测试数据
3 35 17~25 满规模极限测试数据

出处:原题链接