SP20980 UCBINTD - Chicken Joggers
题目描述
在 Lill-Jansskogen 森林中,有一条常被慢跑者使用的小径网络。这些小径深受欢迎,皇家理工学院的教授们专门挑选了这些小径,以便让大学生在学习之余能短暂休息,放松头脑。奇妙的是,这些小径实际上构成了一棵树。在选择这些小径时,教授们在 Lill-Jansskogen 的小径中建立了一棵最小生成树,以此激励和启发计算机科学专业的学生通过利用图论参与体育活动。
然而,这些学生并不是那么勇敢。随着冬天临近,斯德哥尔摩市越来越黑暗。近来,来自 CSC(胆小鬼社区)的一群程序员纷纷抱怨,夜间一些小径光线不足。尽管有些小径安装了灯,但对 CSC 来说仍然不够。他们希望所有可能用到的小径都得到充分照明!因此,你的任务是根据需要在交叉路口安装灯光。由于经济限制,可能无法在所有交叉路口安装灯,你只需确保每条可能被使用的小径至少有一段与交叉路口相邻并被灯光照亮即可。部分交叉路口已有灯光,当然可以继续利用这些灯。
虽然你不知道慢跑者具体选择哪些小径,但你知道他们一定会从大学校园开始,并在此结束。你也清楚慢跑者正在为即将到来的马拉松训练,因此他们总是严格跑固定的 $S$ 米数。慢跑者可能会在任意时间掉头,甚至在一条小径的中段,这样可以确保总共跑完 $S$ 米。你会拿到一张包含教授们创建的最小生成树在内的森林地图。确保每两个交叉路口之间仅有一条路径可选,其中路径即是由相邻小径构成。你的任务是计算出无论慢跑者选择哪些小径,都能满足其光线需求所需的最少额外灯数。
输入格式
输入的第一行包含两个整数 $N$ 和 $S$,分别表示交叉路口的数量($2 \le N \le 50,000$)和慢跑者想要跑的总距离($1 \le S \le 10,000$ 米)。接下来的 $N-1$ 行,每行提供三个整数 $a$、$b$ 和 $d$,表示从交叉路口 $a$ 到交叉路口 $b$ 有一条长度为 $d$ 米的小径。然后有一个整数 $L$($0 \le L \le N$),表示已安装灯的数量。接下来一行包含 $L$ 个不同的整数,表示在这些交叉路口上已经安装了灯。大学校园位于交叉路口 1。
输出格式
输出一个整数,表示为了满足慢跑者照明需求需要新增的最少灯数。
**本翻译由 AI 自动生成**