开始: 2023-08-10 13:30:00

test 7

结束: 2023-08-10 17:00:00
当前: 2025-0505-3131 13:14:37  类型:OI 状态:已经结束 
P3 : 小镇规划  
描述

让我们来到一个宜人的小镇,这个小镇里生活着一群友善而和谐的居民。小镇的形状是一棵美丽的二叉树,每个节点都代表着一个社区,而节点中的数字表示该社区的居民人口数量。这些社区彼此相连,组成了这个小镇的紧密社区网络。

现在,这个小镇面临一个重要的决策:在其中的一个节点上建立一座医院。医院将为居民提供健康和医疗服务,但我们希望居民前往医院的路程尽可能短,以便更方便地获得医疗帮助。

你被委任为小镇的规划师,你的任务是选择一个节点,在这个节点上建立医院,使得所有居民到达医院所走的总路程最小。每个节点之间的距离都被定义为1,表示相邻社区之间的距离。

你的决策将直接影响居民的生活质量和医疗服务的便捷性。现在,让我们开始规划这个小镇的未来,为居民们带来更好的医疗体验!

输入

输入文件第一行一个整数 n,表示树的结点数。

接下来的 n 行每行描述了一个结点的状况,包含三个整数 w,u,v,其中 w 为居民人口数,u 为左孩子的编号(为 0 表示无),v 为右孩子的编号(为 0 表示无)。

输出

输出文件只有一行,一个整数,表示所有居民到达医院的最小距离和。

样例

输入

5						
13 2 3
4 0 0
12 4 5
20 0 0
40 0 0

输出

81
提示

【输入输出样例1说明】

该样例所描述的二叉树如图:

16880612141400.png

医院建在编号为3的节点处,则距离和=4×2+13+20+40=81。

 

对于100%的数据,有2≤n≤100,0≤u,v≤n,1≤w≤10^5。