AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3514. 寻找最富裕的小家庭

简单通过率 77% · 提交 290 · 通过 224
DFS哈希表DFS/BFS

小慕正在研究一个家族财富管理系统,树中的每个节点代表一位家庭成员,节点的数字表示该成员的财富值。一个节点及其所有直接相连的子节点被定义为一个“”。 现在,小慕需要根据给定的这棵树,计算出财富总和最大的小家庭的值。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 第一行为一个数N,表示成员总数,成员编号1-N,1<=N<=1000 </p> <p> 第二行为N个空格分隔的数,表示编号1-N的成员的财富值,0<=财富值<=1000000 </p> <p> 接下来N-1行,每行两个空格分隔的整数(N1,N2),表示N1是N2的父节点。 </p>

输出描述

最富裕的小家庭的财富和

示例

示例 1

输入

4
100 200 300 500
1 2
1 3
2 4

输出

700

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
示例树:节点1(100)有子节点2(200)和3(300),节点2有子节点4(500) 1:100 2:200 3:300 4:500 小家庭1:100+200+300=600 小家庭2:200+500=700 小家庭3:300 最富裕小家庭:节点2的小家庭,财富和=700
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「寻找最富裕的小家庭」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。