AT_tkppc6_2_f Shortest Path Construction
题目描述
[**problemURL**](https://atcoder.jp/contests/tkppc6-2/tasks/tkppc6_2_f)
F君正在解一道题:
>P国由 $N$ 个街道和 $M$ 条道路组成,道路 $i$ 连接街道 $A_i$ 和街道 $B_i$,通过时花费 $C_i$ 分钟。
>
>请求出从街道 $1$ 走到街道 $i$ 再走到街道 $N$ 所花费的总时间的最小值 $D_i$。允许多次通过同一顶点或道路。
F君知道每个 $D_i$,但是他忘记了 $A,B,C$ 是什么,请为他找出一组 $A,B,C$。
输入格式
第一行 $2$ 个正整数 $N,M$。
第二行 $N$ 个正整数 $D_i$。
输出格式
若**存在**满足条件的 $A,B,C$:
第一行 $1$ 个字符串`Yes`。
接下来 $M$ 行,每行 $3$ 个正整数 $A_i,B_i,C_i$。
若存在多组满足条件的 $A,B,C$,可以输出其中任意 $1$ 个。
若**不存在**满足条件的 $A,B,C$:
$1$ 个字符串`No`。
输出需满足以下条件:
- $ 1\leq A_i
说明/提示
### 制約
- $ 1\ \leq\ N,M\ \leq\ 10^5 $
- $ 0\ \leq\ D_i\ \leq\ 10^9 $ $ (1\ \leq\ i\ \leq\ N) $
- 入力は全て整数
### Sample Explanation 1
この出力例では、例えば $ 3 $ 日目に移動にかかるコストが最小になる経路は、道路 $ 2,\ 6,\ 7 $ を順に通るものになります。 道路を移動するのにかかるコストはそれぞれ $ 2,\ 3,\ 1 $ なので、合計で $ 6 $ のコストがかかります。
### Sample Explanation 3
条件を満たす $ A,\ B,\ C $ は存在しません。 原案: \[shiomusubi496\](https://atcoder.jp/users/shiomusubi496)