#HK187. 最小斯坦纳树

最小斯坦纳树

最小斯坦纳树

题目描述

给定一个包含 nn 个结点和 mm 条带权边的无向连通图 G=(V,E)G=(V,E)。

再给定包含 kk 个结点的点集 SS,选出 GG 的子图 G′=(V′,E′)G'=(V',E'),使得:

  1. S⊆V′S \subseteq V';
  2. G′G' 为连通图;
  3. E′E' 中所有边的权值和最小。 你只需要求出 E′E' 中所有边的权值和。

输入格式

第一行包含三个整数 n,m,kn,m,k,表示 GG 的结点数、边数和 SS 的大小。

接下来 mm 行,每行三个整数 u,v,wu,v,w,表示编号为 u,vu,v 的点之间有一条权值为 ww 的无向边。

接下来一行包含 kk 个互不相同的正整数,表示 SS 的元素。

输出格式

一行一个整数,表示 E′E' 中边权和的最小值。

样例 1

输入

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

输出

11

数据范围与提示

对于 100%100 \% 的数据���1≤n≤1001 \leq n \leq 100,1≤m≤5001 \leq m \leq 500,1≤k≤101 \leq k \leq 10,1≤u,v≤n1 \leq u,v \leq n,1≤w≤1061 \leq w \leq 10^6。

保证给出的无向图连通,应该不存在重边和自环。