AT_abc271_e [ABC271E] Subsequence Path
题目描述
某地区有 $N$ 个城镇,编号为 1 到 $N$ ,并且由 $M$ 条公路连接,编号 1 到 $M$ 。
每条公路都是有向的;而且编号为 $i(1 \le i \le M)$ 的道路将带领你从编号 $A_i$ 的城镇到编号为 $B_i$ 的城镇去,它的长度为 $C_i$。
现在给你一个长度为 $K$ 的正整数序列 $E=(E_1,E_2,...,E_K)$ 且 $\forall i \in [1,K],E_i \in [1,M]$ 。我们说一条由一些连通的公路组成的路径为“**好路**”,当且仅当满足以下条件:
+ 这条路径的起点为 1 ,终点为 $N$ 。
+ 按经过顺序组成这条路径的公路的编号组成的序列是 $E$ 的子序列。
**注意**,若序列 $S$ 是长度为 $L$ 的数列 $T$ 的**子序列**,则 $S$ 是数列 $T$ 删除任意 $i\ (i\in [0,L])$ 个元素得到的。
现在你要找到最短的“**好路**”。如果没有,输出 ```-1``` 。
输入格式
无
输出格式
无
说明/提示
- $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ M,\ K\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ A_i,\ B_i\ \leq\ N,\ A_i\ \neq\ B_i\ \,\ (1\ \leq\ i\ \leq\ M) $
- $ 1\ \leq\ C_i\ \leq\ 10^9\ \,\ (1\ \leq\ i\ \leq\ M) $
- $ 1\ \leq\ E_i\ \leq\ M\ \,\ (1\ \leq\ i\ \leq\ K) $
+ 所有输入都是整数
#### 样例解释
对于**样例1**,有两条好路:
+ 选择编号为 $4$ 的公路。在这种情况下,“**好路**”的长度是 $5$ 。
+ 依次选择编号为 $1$ 和 $2$ 的公路。在这种情况下,“**好路**”的长度就变为了 $2+2=4$ 。
因此,输出的期望值为 $4$ 。
对于**样例2**,没有“**好路**”,输出 ``` -1 ``` 。