Coci2009 [podjela]
时间限制:3s 空间限制:128MB
题目描述
有 N 个农民, 他们住在 N 个不同的村子里. 这 N 个村子形成一棵树.
每个农民初始时获得 X 的钱.
每一次操作, 一个农民可以从它自己的钱中, 取出任意数量的钱, 交给某个相邻村子的农民.
对于每个农民给定一个值 v_i, 求
(1) 最少需要多少次操作, 使得每个农民最终拿到的钱 >= 给定的值.
输入格式
第1行: 一个整数 N (1 <= N <= 2000)
第2行: 一个整数 X (0 <= X <= 10000)
第3行: N 个整数, 表示 v_i. 保证所有 v_i 的和 <= N * X
第4..N+2行: 每行两个 1..N 的数, 表示树上的一条边. 边是双向的.
输出格式
第1行: 一个整数, 最少需要的操作次数
样例输入
6 15 10 20 18 16 6 16 1 4 4 5 4 6 6 2 5 3
样例输出
5
提示
没有写明提示
题目来源
没有写明来源