#P9531. [JOISC2022] 复兴计划
[JOISC2022] 复兴计划
题目背景
JOISC2022 D4T3
题目描述
JOI 镇是一个曾经辉煌的工业区。为了运输产品,其中建起了许多铁轨与火车站。尽管 JOI 镇已经衰落,那里仍有许多不再被使用的铁轨与火车站。
JOI 镇中有 个火车站,编号为 。其中还剩下 条铁轨。第 条铁轨 双向连接火车站 和 ,且其宽度为 。保证能够从任意火车站经过若干条铁轨到达任意其他火车站。
你是 JOI 镇的镇长。你计划吸引铁路公司来使用 JOI 镇中留下的铁轨与火车站,使得 JOI 镇复苏成为「铁路之镇」。
于是,共有 个铁路公司申请参与这个复兴计划。然而,不同公司的火车所需的铁轨宽度也有所不同。这意味着你需要重建这些铁轨,使得它们都匹配对应公司的火车。
第 家铁路公司的火车所需的铁轨宽度为 。为了迎合公司 ,要求满足以下条件:
- 条件:保证能够从任意火车站只经过宽度为 的铁轨到达任意其他火车站。
为了满足上述条件,你可以按如下方式重建铁轨任意次:
- 重建:选择一条铁轨,你可以重建其使得其宽度增加或减少 并花费 。然而,若其宽度为 ,则不能再减少其宽度。
为了确定你能满足哪些公司,你需要求出迎合公司 所需要的最小花费。
请写一个程序,对于给定的火车站、铁轨与铁路公司的信息,计算迎合公司 所需要的最小花费。
输入格式
第一行,两个正整数 ,表示火车站的个数和铁轨的条数。
接下来 行,其中第 行包含三个正整数 ,表示第 条铁轨连接的火车站和其宽度。
第 行,一个正整数 ,表示铁路公司的个数。
接下来 行,其中第 行包含一个正整数 ,表示第 个铁路公司的火车需要的铁路宽度。
输出格式
输出 行,第 包含一个整数,表示迎合公司 所需要的最小花费。
5 10
1 2 8
1 3 13
1 4 5
1 5 11
1 5 3
2 3 7
2 4 15
3 4 6
3 5 6
4 5 2
6
3
6
8
10
13
17
8
2
5
10
9
21
3 4
1 2 1
1 2 4
2 3 2
2 3 4
4
1
2
3
4
1
1
2
0
10 20
6 7 914727791
1 8 771674531
3 5 632918108
5 9 329296846
1 7 237501112
4 9 303328173
2 6 216298255
2 10 504024991
3 8 158236886
1 10 10176179
8 9 918271145
3 6 217165898
3 6 624543444
4 9 70147274
8 9 976983490
6 9 210108505
2 9 972711062
1 10 564567289
3 7 411395464
4 7 952470985
10
115721165
198969744
356664401
429802521
513343279
610443927
741016686
786597783
898772266
903568946
1121073688
761832468
1026806785
1316097872
1321500065
1445238392
1637513141
1621778548
1733953031
1738749711
提示
【样例解释 #1】
例如,为了迎合公司 ,若你按如下方式重建铁轨,将会花费 。
- 将铁轨 的宽度减少 。
- 将铁轨 的宽度减少 。
- 将铁轨 的宽度增加 。
可以证明不可能用少于 的花费迎合公司 。因此,在第一行输出 。
该样例满足子任务 的限制。
【样例解释 #2】
该样例满足所有子任务的限制。
【样例解释 #3】
该样例满足子任务 的限制。
【数据范围】
对于所有数据,满足:
- 。
- 。
- 。
- 。
- 。
- 。
- 。
- 保证能够从任意火车站经过若干条铁轨到达任意其他火车站。
- 。
- 。
详细子任务附加限制及分值如下表所示:
子任务编号 | 附加限制 | 分值 |
---|---|---|
, | ||
无附加限制 |