#P1482. 一道水题-easy

一道水题-easy

一道水题-easy

题目描述

现在有n个阀门标号为1~n,m条管道连通了它们(连通的阀门之间不会有环),每个阀门都对应了一个aia_i,每个管道存在一个边权cic_i.

aia_i为一个阀门放出的水流的扩散系数,cic_i代表了水流通过这个管道会损失多少扩散系数。

当一个阀门放水时,会向他所连通的每个管道放出扩散系数相同为aia_i的水,当每条水流的扩散系数大于等于当前管道的损失量时,才能到达下一个阀门,同时扩散系数减少cic_i

当一个阀门接收到扩散系数为t的水时,会向他所连通的每个管道(除了接收的管道)放出扩散系数相同为t的水流,水流扩散规则不变。

当放水一个阀门停止放水后,所有因他产生的水流消失。

小波有能出现在所有水里的能力,他偷到若干个阀门的控制器,他在同一时间内只能打开其中一个阀门实现移动(所以不会有水流叠加的情况),所以他想问你这些控制器,通过打开不同的阀门,他能够移动到多少个阀门。

数据保证生成管道图一定为树,至于为什么会设置m条边,就当出题人脑子抽了吧

小波有能出现在所有水里的能力是指:当一个阀门里有水时,即便它的扩散系数为0,他也能无视任何条件出现在这个阀门,即使他当前在一个没水的阀门,他也能移动到有水的阀门 本题与阀门的打开顺序无关

输入格式

第一行输入三个正整数n,m,qn,m,q (1n1e5,m=n1,1qmin(n,50)(1 \le n\le 1e5 ,m=n-1 ,1 \le q \le\min(n,50) nn代表存在nn个阀门,mm代表存在mm条管道,qq代表偷到了qq个控制器 第二行输入n个正整数aia_i,(1ai1000)(1 \le a_i \le 1000)aia_i代表第ii个阀门放水的扩散系数。 第三行输入q个正整数bib_i,(1bin)(1 \le b_i \le n)bib_i代表偷到了第bib_i个阀门的控制器 接下来m行,每行输入三个正整数u,v,cu,v,c (1u,vn)(1\le u,v \le n)(1c100)(1\le c \le 100) u,vu,v代表管道的两端,cc代表该条管道所需的扩散系数

输出格式

输出一个正整数代表qq个阀门能移动到的阀门数。

样例 #1

样例输入 #1

5 4 2
24 15 7 100 72
2 5
1 2 2
1 3 49
1 5 22
3 4 17

样例输出 #1

4