atcoder#NIKKEI20192QUALD. Shortest Path on a Line

Shortest Path on a Line

配点 : 600600

問題文

一直線上に NN 個の点があり、順に 11 から NN までの番号がついています。

高橋君はこれらの点を頂点として無向グラフを作ることにしました。 はじめはグラフに辺はないですが、MM 回の操作によって辺を追加します。 ii 回目の操作では次のように辺を追加します。

  • 11 以上 NN 以下の整数 LiL_i, RiR_i 及び正整数 CiC_i を用いる。 Lis<tRiL_i \leq s < t \leq R_i なる整数の組 (s,t)(s,t) すべてに対し、頂点 ss と頂点 tt の間に長さ CiC_i の辺を追加する。

ただし、L1,...,LML_1,...,L_M, R1,...,RMR_1,...,R_M, C1,...,CMC_1,...,C_M はすべて入力で与えられます。

高橋君は最終的に得られたグラフ上で最短路問題を解きたいです。得られたグラフ上での頂点 11 から頂点 NN までの最短路の長さを求めてください。

制約

  • 2N1052 \leq N \leq 10^5
  • 1M1051 \leq M \leq 10^5
  • 1Li<RiN1 \leq L_i < R_i \leq N
  • 1Ci1091 \leq C_i \leq 10^9

入力

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

NN MM

L1L_1 R1R_1 C1C_1

::

LML_M RMR_M CMC_M

出力

頂点 11 から頂点 NN までの最短路の長さを出力せよ。 ただし、最短路が存在しない場合は -1 を出力せよ。

4 3
1 3 2
2 4 3
1 4 6
5

頂点 11 と頂点 22 の間に長さ 22 の辺があり、頂点 22 と頂点 44 の間に長さ 33 の辺があるので、頂点 11 と頂点 44 の間に長さ 55 のパスが存在します。

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