CF707B Bakery

题目描述

玛莎想要开一家新的面包店,她希望在 $n$ 个从 $1$ 到 $n$ 编号的城市中选择一个城市作为面包店的地址。 在城市之间有 $m$ 条双向道路, 每一条双向道路都连接一对不同的城市,通过每条道路需要耗费一定的时间。 此外,玛莎还需要选择一个城市作为仓库,共有 $k$ 个适合选择作为仓库的城市, 这些城市的标号分别为 $a_1,a_2,a_3,\dots,a_k$。 不幸的是,法律规定无法在能够被选择作为仓库的城市开设面包店,因此她只能在剩余的 $n - k$ 个城市中选择面包店的地址。 现在,玛莎希望你能帮助她选择仓库以及面包店的地址,使得在仓库和面包店之间通行的耗时最小。

输入格式

输入的第一行包含三个整数 $n,m$ 以及$k$($1\le n,m \le 105$,$0\le n$) — 玛莎居住的国家城市数量、城市之间的道路数量和面粉仓库的数量。 接下来 $m$ 行,每行三个整数 $u$,$v$ 和 $l$($1\le u,v \le n$,$1 \le l\le 10^9$,$u\not= v$) 描述一条在城市 $u$ 和城市 $v$ 之间的双向道路,通过这条道路将会耗费 $l$ 的时间。 如果 $k > 0$, 那么最后一行将会包含 $k$ 个不同的整数 $a_1,a_2,a_3,\dots,a_k(1\le a_i \le n)$ — 表示可以被选择仓库城市的编号. 如果 $k = 0$ 那么输入数据中就没有这一行.

输出格式

在唯一的一行中输出在最优的方案下,从仓库前往面包店的最小耗时. 如果不存在一种这样的方案,则输出 $-1$。

说明/提示

![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF707B/5363dd57fa93616f4ccd4cae1a9732744eeb0a9c.png) 上图解释了第一个样例,其中仓库城市和代表答案的路径都用深色标注。