【模板】单源最短路径(标准版)

题目背景

2018 年 7 月 19 日,某位同学在 [NOI Day 1 T1 归程](https://www.luogu.org/problemnew/show/P4768) 一题里非常熟练地使用了一个广为人知的算法求最短路。 然后呢? $100 \rightarrow 60$; $Ag \rightarrow Cu$; 最终,他因此没能与理想的大学达成契约。 小 F 衷心祝愿大家不再重蹈覆辙。

题目描述

给定一个 $N$ 个点,$M$ 条有向边的带非负权图,请你计算从 $S$ 出发,到每个点的距离。 数据保证你能从 $S$ 出发到任意点。

输入输出格式

输入格式


第一行为三个正整数 $N, M, S$。 第二行起 $M$ 行,每行三个非负整数 $u_i, v_i, w_i$,表示从 $u_i$ 到 $v_i$ 有一条权值为 $w_i$ 的边。

输出格式


输出一行 $N$ 个空格分隔的非负整数,表示 $S$ 到每个点的距离。

输入输出样例

输入样例 #1

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

输出样例 #1

0 2 4 3

说明

样例解释请参考 [数据随机的模板题](https://www.luogu.org/problemnew/show/P3371)。 $1 \leq N \leq 100000$; $1 \leq M \leq 200000$; $S = 1$; $1 \leq u_i, v_i\leq N$; $0 \leq w_i \leq 10 ^ 9$, $0 \leq \sum w_i \leq 10 ^ 9$。 本题数据可能会持续更新,但不会重测,望周知。 2018.09.04 数据更新 from @zzq