AT_arc026_3 [ARC026C] 蛍光灯
Description
[problemUrl]: https://atcoder.jp/contests/arc026/tasks/arc026_3
ある小学校には、すごく長い廊下があります。東西に伸びていて、西端から東端まで $ L $ メートルあります。 学校の方針で窓は一切ついていないので、蛍光灯で廊下を照らさなければいけません。
この廊下には $ N $ 個の蛍光灯がついています。 $ i $ 番目の蛍光灯は西端から $ l_i $ メートルの地点と $ r_i $ メートルの地点の間を照らすことができます。 また、蛍光灯によって点けるのに必要な費用が違います。 $ i $ 番目の蛍光灯を点けるには $ c_i $ 円の費用がかかります。
全ての蛍光灯を点ければ、廊下全体を照らすことは可能ですが、お金がないので可能な限り少ない費用で廊下全体を照らしたいです。 廊下のどの地点、つまり西端から $ 0 $ メートルの地点と $ L $ メートルの地点の間のどの地点も少なくとも1つ以上の蛍光灯に照らされているように蛍光灯を点けるとき、必要な費用の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ L $ $ l_1 $ $ r_1 $ $ c_1 $ $ l_2 $ $ r_2 $ $ c_2 $ : $ l_N $ $ r_N $ $ c_N $
制約に不十分な記述があったため、修正しました。「蛍光灯の照らす範囲」→「蛍光灯の照らす範囲を表す整数」(21:20)
- $ 1 $ 行目には蛍光灯の個数を表す整数 $ N\ (1\ ≦\ N\ ≦\ 10^5) $ と廊下の長さを表すを表す整数$ L(1\ ≦\ L\ ≦\ 10^5) $が空白区切りで与えられる。
- $ 2 $ 行目からの $ N $ 行のうち $ i $ 行目には$ i $番目の蛍光灯の照らす範囲を表す整数 $ l_i,\ r_i\ (0\ ≦\ l_i\ <\ r_i\ ≦\ L) $ と、点けるのにかかる費用 $ c_i\ (1\ ≦\ c_i\ ≦\ 10^5) $ が空白区切りで与えられる。
- 全ての蛍光灯を点ければ、廊下全体を照らすことができることが保証されている。
Output Format
廊下全体を照らすのに必要な費用の最小値を1行で出力せよ。
Explanation/Hint
### 部分点
この問題には部分点が設定されている。
- $ 1\ ≦\ N\ ≦\ 3,000\ ,1\ ≦\ L\ ≦\ 3,000 $を満たすデータセットに正解した場合は $ 60 $ 点が与えられる。
- $ 1\ ≦\ N\ ≦\ 10^5\ ,1\ ≦\ L\ ≦\ 10^5 $を満たすデータセットに正解した場合はさらに $ 40 $ 点が与えられる。合計で$ 100 $点となる。
### Sample Explanation 1
$ 1,\ 2,\ 4,\ 5 $番目の蛍光灯を点けた時、費用の総和が最小になります。
### Sample Explanation 2
$ 6 $番目の蛍光灯を点けない限り、西端から$ 7 $メートルの地点と$ 8 $メートルの地点の間は照らされません。 $ 6 $番目の蛍光灯だけを使うのが、最適な点け方です。