QOJ.ac

QOJ

Limite de temps : 3 s Limite de mémoire : 1024 MB Points totaux : 100

#5313. 请拯救猪猪国

Statistiques

一种被称为“神秘奥斯卡”的恐怖疾病正在猪之国蔓延。猪之国共有 $n$ 个城市,由 $n-1$ 条双向道路连接。第 $i$ 条道路连接城市 $u_i$ 和城市 $v_i$,长度为 $w_i$。保证任意两个城市之间都可以通过这些道路互相到达。

现在,有 $k$ 个不同的城市 $c_1, c_2, \dots, c_k$ 感染了这种恐怖疾病。作为猪之国的领导者,Putata 和 Budada 准备拯救猪之国。首先,他们需要找到一个城市 $r$ 来建立医院,而不必考虑城市 $r$ 是否已经感染。然后,他们将利用剩余的资金建造唯一的交通工具——“猪猪车”(Pigpigcar)。由于资金紧张,他们只能建造一辆猪猪车,且一旦建造完成,猪猪车的参数 $d$ 就被设定好,无法更改。参数为 $d$ 的猪猪车只能在两个城市之间行驶,前提是这两个城市之间的距离必须是 $d$ 的倍数。形式化地说,如果你想从城市 $u$ 到达城市 $v$,它们之间的最短路径距离必须为 $p \times d$,其中 $p$ 是一个非负整数,这会花费 $p$ 个猪币(Pigcoins)。请注意,如果你想从城市 $u$ 到达城市 $v$,并不需要停靠在路径上的每一个城市,如果 $u$ 和 $v$ 之间的最短距离是 $d$ 的倍数,猪猪车可以直接从 $u$ 行驶到 $v$。

在接下来的 $k$ 天里,Putata 和 Budada 将采取以下行动来拯救猪之国。在第 $i$ 天,他们将乘坐猪猪车沿城市 $r$ 和城市 $c_i$ 之间的最短路径从城市 $r$ 前往城市 $c_i$,治愈该城市的所有小猪,然后从城市 $c_i$ 返回城市 $r$。

Putata 和 Budada 希望你选择合适的城市 $r$ 来建立医院,并确定猪猪车的参数 $d$,使得旅行过程中花费的猪币总数最小。请帮助他们找到花费的最少猪币数量。

输入格式

第一行包含两个整数 $n, k$ ($1 \le n \le 5 \times 10^5, 1 \le k \le n$),分别表示城市数量和患病城市数量。

第二行包含 $k$ 个不同的整数 $c_1, c_2, \dots, c_k$ ($1 \le c_i \le n$),表示患病的城市。

接下来的 $n-1$ 行,每行包含三个整数 $u, v, w$ ($1 \le u, v \le n, u \neq v, 1 \le w \le 10^7$),表示一条连接城市 $u$ 和 $v$ 的长度为 $w$ 的道路。

保证可以通过这些道路从任意城市到达其他任何城市。

输出格式

输出一行一个整数,表示花费的最少猪币数量。

样例

输入 1

5 3
3 4 5
1 2 2
2 3 4
2 5 4
3 4 6

输出 1

8

说明 1

在样例中,你应该选择城市 1 建立医院,并将猪猪车的参数 $d$ 设为 6。城市 1 到城市 3、4、5 的距离分别为 6、12、6,因此总共花费的猪币为 $1 \times 2 + 2 \times 2 + 1 \times 2 = 8$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.