#HK4232. 「NordicOI 2024」Anime Shops

「NordicOI 2024」Anime Shops

题目描述

题目译自 NordicOI 2024 T1 「Anime Shops

nn 个城市和 mm 条道路。每条道路都是双向的,连接了两个城市。已知有 kk 个城市有动漫商店。

如果你住在某个城市,那你必然很了解本地的动漫商店。你想找到除了你的城市以外,离你所在的城市最近的动漫商店。

对于每个城市,确定到另一个有动漫商店的城市的最小距离。

输入格式

第一行有三个整数 n,m,kn, m, k,分别表示城市、道路和动漫商店的数量。城市编号为 1,2,,n1,2,\dots,n

第二行包含 kk 个整数,表示有动漫商店的城市。

接下来的 mm 行每行有两个整数 aabb,表示城市 aabb 之间有一条道路。

输出格式

输出 nn 个整数,表示对于每个城市,到另一个有动漫商店的城市的最小距离。如果没有这样的城市,则输出 1-1

9 6 4
2 4 5 7
1 2
1 3
1 8
2 4
3 4
5 6
1 1 1 1 -1 1 -1 2 -1

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 2323 1kn1000,0m20001 \le k \le n \le 1000, 0 \le m \le 2000
22 1616 1kn105,m=n11 \le k \le n \le 10^5, m=n-1;每条道路连接城市 iii+1i+1
33 6161 1kn105,0m21051 \le k \le n \le 10^5, 0 \le m \le 2 \cdot 10^5