#CF2021E2. 数字村庄(困难版本)

    ID: 6313 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 2 上传者: 标签>数据结构动态规划区间DP并查集图结构树结构其他数学*2500

数字村庄(困难版本)

E2. 数字村庄(困难版本)

时间限制:每个测试 22
内存限制256256 MB

这是本题的困难版本。在三个版本中,nnmm 的约束不同。只有解决了所有版本的题目,你才能进行 Hack。


题目描述

Pak Chanek 正在为 Khuntien 村庄建立互联网连接。该村庄可以表示为一个连通简单图,包含 nn 座房屋和 mm 条互联网电缆,第 ii 条电缆连接房屋 uiu_iviv_i,延迟为 wiw_i

pp 座房屋需要互联网。Pak Chanek 可以在最多 kk房屋中安装服务器。需要互联网的房屋将被连接到其中一个服务器。然而,由于每条电缆都有其延迟,需要互联网的房屋 sis_i 所经历的延迟等于该房屋与其所连接的服务器之间的电缆的最大延迟

对于每个 k=1,2,,nk = 1, 2, \dots, n,帮助 Pak Chanek 确定所有需要互联网的房屋所能达到的最小总延迟


输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt1t20001 \le t \le 2000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含三个整数 nnmmpp2n50002 \le n \le 5000n1m5000n-1 \le m \le 50001pn1 \le p \le n),分别表示房屋数量、电缆数量和需要互联网的房屋数量。

第二行包含 pp 个整数 s1,s2,,sps_1, s_2, \dots, s_p1sin1 \le s_i \le n),表示需要互联网的房屋。保证 ss 中的所有元素互不相同。

接下来的 mm 行中的第 ii 行包含三个整数 uiu_iviv_iwiw_i1ui<vin1 \le u_i < v_i \le n1wi1091 \le w_i \le 10^9),表示连接房屋 uiu_iviv_i 的互联网电缆及其延迟。保证给定的边构成一个连通简单图。

保证所有测试用例的 nn 之和以及 mm 之和均不超过 50005000


输出格式

对于每个测试用例,输出 nn 个整数:对于每个 k=1,2,,nk = 1, 2, \dots, n,所有需要互联网的房屋所能达到的最小总延迟。


示例

输入

2
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
3 3 2
3 1
1 2 1
2 3 3
1 3 2

输出

34 19 9 4 0 0 0 0 0
2 0 0

样例解释

在第一个测试用例中,对于 k=3k = 3,一个可能的最优解是在顶点 226688 处安装服务器,并得到以下延迟:

  • latency(2)=0\text{latency}(2) = 0
  • latency(5)=max(3,5)=5\text{latency}(5) = \max(3, 5) = 5
  • latency(6)=0\text{latency}(6) = 0
  • latency(8)=0\text{latency}(8) = 0
  • latency(9)=max(2,4)=4\text{latency}(9) = \max(2, 4) = 4

因此总延迟为 99