AT_past202203_k 旅行計画

Description

[problemUrl]: https://atcoder.jp/contests/past202203-open/tasks/past202203_k $ N $ 頂点 $ M $ 辺の重み付き有向グラフが与えられます。 頂点には $ 1 $ から $ N $ までの番号が振られています。 また、$ i\ (1\ \leq\ i\ \leq\ M) $ 本目の辺は頂点 $ u_i $ から頂点 $ v_i $ に向けて張られており、その重みは $ w_i $ です。 $ k=1,2,\ldots,N $ について、以下の問題を解いてください。 - 頂点 $ 1 $ から始めて頂点 $ k $ を一度以上通り、頂点 $ N $ まで行く経路が存在するか判定し、存在するならそのうち最短のものの長さを出力せよ。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ u_1 $ $ v_1 $ $ w_1 $ $ u_2 $ $ v_2 $ $ w_2 $ $ \hspace{0.8cm}\vdots $ $ u_M $ $ v_M $ $ w_M $

Output Format

$ N $ 行にわたって出力せよ。$ i\ (1\ \leq\ i\ \leq\ N) $ 行目には $ k=i $ の場合の答えを以下に従って出力すること。 - 頂点 $ 1 $ から始めて頂点 $ k $ を一度以上通り、頂点 $ N $ まで行く経路が存在するなら、そのうち最短のものの長さを出力。 - 頂点 $ 1 $ から始めて頂点 $ k $ を一度以上通り、頂点 $ N $ まで行く経路が存在しないなら `-1` を出力。

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ M\ \leq\ 2\ \times\ 10^5 $ - $ 1\ \leq\ u_i,v_i\ \leq\ N $ - $ u_i\ \neq\ v_i $ - $ 1\ \leq\ w_i\ \leq\ 10^9 $ - 入力はすべて整数 ### Sample Explanation 1 \- $ k=1 $ のとき、$ 3 $ 本目の辺を通って直接頂点 $ 3 $ に移動する経路が最短です。 - $ k=2 $ のとき、$ 1 $ 本目の辺を通って頂点 $ 2 $ に移動したあと $ 2 $ 本目の辺を通って頂点 $ 3 $ に移動する経路が最短です。 - $ k=3 $ のとき、$ 3 $ 本目の辺を通って直接頂点 $ 3 $ に移動する経路が最短です。