题目描述
题目译自 XXI Olimpiada Informatyczna — III etap Zadanie Mrowisko
一群蚂蚁闯入废弃的蚁巢,搜寻食物。蚁巢由 n 个巢室和 n−1 条通道组成,任意两巢室间有唯一路径,构成一棵树。所有只有一条通道的巢室是蚁巢入口。在每个入口,排列着 g 群蚂蚁,分别有 m1,m2,…,mg 只蚂蚁。每群蚂蚁单独进入,下一群需等巢内清空后进入。蚂蚁在巢内按以下规则移动:
- 进入一个有 d 条未访问通道的巢室,蚂蚁群分成 d 个等量小组,每组沿一条通道前进。若 d=0,蚂蚁群直接离开蚁巢。
- 若无法均分,强壮蚂蚁会吃掉弱小者,直到能均分成等量小组(甚至可能自我吞噬消失)。

某条通道上方有个洞,潜伏着饥饿的食蚁兽的长舌,它会吞噬恰好有 k 只蚂蚁的经过群体。请你计算食蚁兽能吃掉多少只蚂蚁。
输入格式
输入第一行包含三个整数 n,g,k (2≤n,g≤1000000,1≤k≤109),分别表示巢室数、每个入口的蚂蚁群数和食蚁兽吞噬的蚂蚁群规模。巢室编号为 1 到 n。
第二行包含 g 个整数 m1,m2,…,mg (1≤mi≤109),mi 表示第 i 群蚂蚁的数量。
接下来的 n−1 行描述通道,每行两个整数 ai,bi (1≤ai,bi≤n),表示 ai 号和 bi 号巢室间有通道。食蚁兽的舌头位于第一个输入的通道。
输出格式
输出一行,一个整数,表示食蚁兽吃掉的蚂蚁总数。
7 5 3
3 4 1 9 11
1 2
1 4
4 3
4 5
4 6
6 7
21

入口巢室为 2,3,5,7 号,每处有 5 群蚂蚁。食蚁兽在通道 1−2,吞噬:从 2 号入口第一群的 3 只蚂蚁,以及从 3,5,7 号入口的第四、第五群各 3 只蚂蚁,共 21 只。
附加样例
- n=20,g=20,k=5,蚁巢为长隧道,食蚁兽舌头在端点通道,群规模为 1,…,20;
- n=219+1,g=20,k=1,巢室 1 连 n(食蚁兽在此通道),巢室 i (i=2,3,…,n−1) 连 ⌊i/2⌋,群规模为 20,21,…,219。
数据范围与提示
对于 20% 的数据,n,g≤100。
对于 50% 的数据,所有入口的蚂蚁群总数不超过 1000000。