首页 > 试题广场 >

tree

[编程题]tree
  • 热度指数:80 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
给定一棵节点数为n的有根树, 根节点编号为0. 给出1~n-1的每个节点的父亲节点以及其所拥有的value值. 对每个节点下的子树(包含该节点)的最大的value值与子树外其他节点最大的value值的差的绝对值进行求和(无须对根节点0求).

输入描述:
第一行输入n表示有n个节点 (0 < n <= 100000)
第二行n - 1个数, 表示1 ~ n - 1 每个节点的父亲节点的编号
第三行n个数, 表示每个节点上的value值 (0 <= value <= 1000)


输出描述:
输出一个整数表示所有节点下要求的差的绝对值的和
示例1

输入

5
0 1 0 3 
875 479 30 217 39

输出

2735

这道题你会答吗?花几分钟告诉大家答案吧!