CP91 · 带权图单源最短路

较难图与搜索最短路时限 2000 ms(参考)
题目描述

给定一张 n 个点、m 条有向边的带权图(边权为正整数),以及起点 s。求从 s 出发到每个点的最短距离;无法到达的点输出 -1。

输入描述

第一行三个整数 n、m、s(1 ≤ n ≤ 10^5,0 ≤ m ≤ 2×10^5,1 ≤ s ≤ n);接下来 m 行,每行三个整数 u v w,表示一条从 u 到 v、权为 w 的有向边(1 ≤ w ≤ 10^9,点编号从 1 开始)。

输出描述

一行 n 个整数,第 i 个为 s 到点 i 的最短距离,不可达输出 -1,空格分隔。