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)