文章目录
Shortest Path on a Line
题目描述
一条直线上有
N
N
N 个点,从
1
1
1 到
N
N
N 依次编号。
高桥决定以这些点为顶点构建一个无向图。最初,图中没有边,但他通过
m
m
m 次操作添加了边。第
i
i
i 次操作添加边的过程如下:
给出整数 L i , R i ∈ [ 1 , N ] L_i,R_i\in[1,N] Li,Ri∈[1,N] 和 C i ∈ N + C_i\in\N_+ Ci∈N+。对于每一对整数 ( s , t ) (s,t) (s,t) 满足 L i ≤ s < t ≤ R i L_i \le s < t \le R_i Li≤s<t≤Ri,在顶点 s s s 和顶点 t t t 之间添加一条长度为 C i C_i Ci 的边。
L 1 L_1 L1… L M L_M LM, R 1 R_1 R1… R M R_M RM, C 1 C_1 C1… C M C_M CM 都在输入中给出。高桥希望在最终得到的图形上求解最短路径问题:求图中从顶点 1 1 1 到顶点 N N N 的最短路径长度。
输入格式
格式如下
N N N M M M
L 1 L_1 L1 R 1 R_{1} R1 C 1 C_{1} C1
⋮ \vdots ⋮
L m L_m Lm R m R_{m} Rm C m C_m Cm
输出格式
输出从顶点 1 1 1 到顶点 N N N 的最短路径长度。 但是,如果最短路径不存在,输出 − 1 -1 −1。
样例 #1
样例输入 #1
4 3
1 3 2
2 4 3
1 4 6
样例输出 #1
5
样例 #2
样例输入 #2
4 2
1 2 1
3 4 2
样例输出 #2
-1
样例 #3
样例输入 #3
10 7
1 5 18
3 4 8
1 3 5
4 7 10
5 9 8
6 10 5
8 10 3
样例输出 #3
28
说明/提示
2 ≤ N ≤ 1 0 5 2 \le N \le 10^5 2≤N≤105, 1 ≤ M ≤ 1 0 5 1 \le M \le 10^5 1≤M≤105, 1 ≤ L i < R i ≤ N 1 \le L_i < R_i \le N 1≤Li<Ri≤N , 1 ≤ C i ≤ 1 0 9 1 \le C_i \le 10^9 1≤Ci≤109
样例1解释
顶点 1 1 1 和顶点 2 2 2 之间有一条长度为 2 2 2 的边,顶点 2 2 2 和顶点 4 4 4 之间有一条长度为 3 3 3 的边,因此顶点 1 1 1 和顶点 4 4 4 之间有一条长度为 5 5 5 的路径。