#P1042. 插眼 (observe)
插眼 (observe)
Description
小 Z 又开始玩 DoTo 了。
小 Z 想要学习新人辅助燃烧哥的插眼思路。DoTo 中有一种装备叫做侦察守卫,侦察守卫是一种可以提供半径为 K 以内的视野的道具。
小 Z 现在拿到了 B 神可能会出现的一些点的编号,由于 V 社的最新改动,侦察守卫特别贵,已知在节点 i 放置侦察守卫需要 ci 的代价,你需要用最少的代价使得你可以监视 B 神的所有行动。
由于小 Z 刚刚入门,因此 DoTo 的地图只会是一个 N 个节点 N-1 条边的连通图。
请你帮助小 Z 求出最小花费。半径为 K 的定义:所有距离该点为 K的点。
Input
第一行两个整数 N K,定义参见问题描述。
第二行 N 个正整数,第 i 个正整数表示在编号为 i 的点放置侦查守卫的代价 ci。
第三行一个正整数 M ,表示 B 神可能会出现的点的个数。
第四行 M 个正整数,分别表示每个 B 神可能出现的点的编号。
接下来 N-1 行,每行包含两个正整数 u, v,表示存在边 < u, v >。
Output
输出一行一个整数,表示最小花费。
Samples
5 2
1 2 3 4 5
5
1 2 3 4 5
1 2
2 3
3 4
1 5
2
样例 1 解释 一种方案是:在第 3 个单位时间时,各个分别位于点 1, 4, 5, 4, 5。
12 2
8 9 12 6 1 1 5 1 4 8 10 6
10
1 2 3 5 6 7 8 9 10 11
1 3
2 3
3 4
4 5
4 6
4 7
7 8
8 9
9 10
10 11
11 12
10
Limitation
测试点 1,N ≤ 20, K ≤ 5。
测试点 2-3,N ≤ 5 × , K = 1。
测试点 4-5,N ≤ 5 × , K ≤ 20, N = M。
测试点 6-8,N ≤ , K ≤ 20。
测试点 9-10,N ≤ , K ≤ 20。
相关
在下列比赛中: