给你一个长度为 n 的整数数组 parent,它表示一棵根节点编号为 0、节点编号范围为 0 到 n - 1 的有根树。
该树以节点 0 为 根节点,因此 parent[0] = -1。对于每个满足 1 <= i <= n - 1 的节点 i,parent[i] 表示节点 i 的父节点。
另给定一个长度为 n 的整数数组 nums,其中 nums[i] 表示节点 i 的值。
对于深度为 d 的节点 i,其 权重 定义为 nums[i] * (h - d + 1),其中 h 表示树的高度。
返回树中所有节点的 权重之和 。
节点的 深度 定义为从根节点到该节点的路径上包含的节点数量,其中根节点的深度为 1。
树的 高度 定义为所有节点深度的最大值。
示例 1:

输入: parent = [-1,0,0,0,2,2], nums = [5,2,3,1,4,6]
输出: 37
解释:
该树的高度为 3。
| 节点 | nums[i] | 深度(d) | 权重 |
|---|---|---|---|
| 0 | 5 | 1 | 5 * (3 - 1 + 1) = 15 |
| 1 | 2 | 2 | 2 * (3 - 2 + 1) = 4 |
| 2 | 3 | 2 | 3 * (3 - 2 + 1) = 6 |
| 3 | 1 | 2 | 1 * (3 - 2 + 1) = 2 |
| 4 | 4 | 3 | 4 * (3 - 3 + 1) = 4 |
| 5 | 6 | 3 | 6 * (3 - 3 + 1) = 6 |
所有节点的权重之和为 15 + 4 + 6 + 2 + 4 + 6 = 37。
示例 2:

输入: parent = [-1,0,1,2], nums = [1,2,3,4]
输出: 20
解释:
该树的高度为 4。
| 节点 | nums[i] | 深度(d) | 权重 |
|---|---|---|---|
| 0 | 1 | 1 | 1 * (4 - 1 + 1) = 4 |
| 1 | 2 | 2 | 2 * (4 - 2 + 1) = 6 |
| 2 | 3 | 3 | 3 * (4 - 3 + 1) = 6 |
| 3 | 4 | 4 | 4 * (4 - 4 + 1) = 4 |
所有节点的权重之和为 4 + 6 + 6 + 4 = 20。
提示:
1 <= n <= 105n == parent.length == nums.lengthparent[0] == -1i,其中 i 位于 [1, n - 1],均有 0 <= parent[i] <= n - 11 <= nums[i] <= 106parent 表示一棵以节点 0 为根节点的有效树。