#D1020. 树上包包

树上包包

题目背景

给一张有权图,两个点的距离为路径中最大边权。一个点的代价为其到关键点的最小距离。求选取 1n1\sim n 个关键点的最小总代价?

题目描述

蒟正在为菜狗村建立互联网连接。该村庄可以表示为一个连接的简单图,其中有 nn 座房屋和 mm 条网线,第 uiu_i 座房屋和第 viv_i 座房屋之间的网线延迟为 wiw_i

pp 幢房屋需要互联网。蒟最多可以在 kk 所房屋中安装服务器。需要上网的房屋将连接到其中一台服务器。然而,由于每条网线都有其延迟时间,需要上网的房屋 sis_i 所经历的延迟时间将是该房屋与所连接服务器之间网线的最大延迟时间。

对于每个 k=1,2,,nk = 1,2,\ldots,n ,请帮助蒟确定所有需要上网的房屋所能达到的最小延迟。

输入格式

第一行包含三个整数 nn , mm , pp ( 2n50002 \le n \le 5000 ; n1m5000n-1 \le m \le 5000 ; 1pn1 \le p \le n ) 表示房屋数量、网线数量和需要网络的房屋数量。

第二行包含 pp 个整数 s1,s2,,sps_1, s_2, \ldots, s_p ( 1sin1 \le s_i \le n ) 表示需要上网的房屋。保证 ss 中的所有元素都是不同的。

接下来 mm 行,每行包含三个整数 uiu_iviv_iwiw_i1ui,vin1 \le u_i , v_i \le n ; 1wi1091 \le w_i \le 10^9 )表示一条连接房屋 uiu_i 和房屋 viv_i 的网线,延迟为 wiw_i 。保证给定的边构成一个连通的简单图。

输出格式

输出 nn 个整数:所有需要上网的房屋对于 k=1,2,,nk = 1,2,\ldots,n 所能达到的最小总延迟。

输入输出样例 #1

输入 #1

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

输出 #1

34 19 9 4 0 0 0 0 0

输入输出样例 #2

输入 #2

3 3 2
3 1
1 2 1
2 3 3
1 3 2

输出 #2

2 0 0