某物流公司在一条笔直的运输线上建设了 N 个仓库,用于集中存储和调配物资。这些仓库从左到右依次编号为 1 到 N。
在仓库刚建立时,各个仓库相互独立,仓库之间尚未建设任何运输通道,物资无法在仓库之间直接运输。
为了提升物流效率,公司计划分阶段修建若干批次的双向运输线路。 公司一共将执行 M 次物流建设方案。
第 i 次方案由三个正整数 L_i, R_i, C_i 描述,含义如下:
也就是说,对于所有满足
L_i \le s < t \le R_i
的仓库对 (s, t),都会新增一条运输成本为 C_i 的双向线路。
当所有物流建设方案执行完毕后,将形成一张复杂的仓库运输网络。
现在,公司希望将物资从 1 号仓库 运送到 N 号仓库。 请你计算在当前运输网络中,完成该运输所需的最小总成本。
如果无法从 1 号仓库运输物资到 N 号仓库,请输出 -1。
第一行包含两个正整数 N 和 M,分别表示仓库数量和物流建设方案的次数。
接下来 M 行,每行包含三个正整数 L_i, R_i, C_i,表示一次物流建设方案。
输出一个整数,表示从 1 号仓库运输物资到 N 号仓库的最小总成本。
如果不存在可行的运输路径,输出 -1。
4 3 1 3 2 2 4 3 1 4 6
5
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
一个可行的最优运输路径为:1 \rightarrow 2 \rightarrow 4,总成本为 2 + 3 = 5。
仓库 1,2 与仓库 3,4 之间不存在任何运输线路,无法完成从 1 号仓库到 4 号仓库的运输。
对于 30\% 的数据满足 2 \le N \le 10^2,1 \le M \le 10^2,1 \le L_i \lt R_i \le N,1 \le C_i \le 10。
对于 60\% 的数据满足 2 \le N \le 10^3,1 \le M \le 10^3,1 \le L_i \lt R_i \le N,1 \le C_i \le 10^3。
对于 100\% 的数据满足 2 \le N \le 10^5,1 \le M \le 10^5,1 \le L_i \lt R_i \le N,1 \le C_i \le 10^9。