题号:NC223205
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
小 Y 有 m 种无穷多的物品以及一根杆子。他希望用它们做成一根如下的天平。
天平的性质是对于任意一个物品下面连着的杆子,在不计杆重的情况下可以平衡。同时,不允许存在某个点到其左右连着的物品杆长不是整数。
现在小 Y 想要知道,要想挂 n 个物品在一个固定形状的天平上且天平平衡,最少需要用的杆子的长度。
形式化的,现有一棵有 n 个有 0 或 2 个儿子的节点的二叉树。你可以给每个节点赋权给定的 m 个数中的任意一个。记每个节点的子树的和为

。
随后你需要给每个非叶子点赋正整数权值

使得

。求所有 L 和 R 的和的最小值。
输入描述:
第一行,n,m。)
第二行,m 个数,表示每种物品的质量。)
接下来若干行,每行三个数 u,x,y。表示在 u 物品下的两个物品编号分别为 x,y。行数是可以推知的。
保证整个树形结构的根是 1。
输出描述:
一行,表示最终的答案。
示例2
输入
复制
7 3
1 3 4
1 2 3
3 4 5
4 6 7