#Lutece0315. 新手训练02_树的划分

新手训练02_树的划分

Migrated from Lutece 315 新手训练02_树的划分

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

一棵树上每个节点有一个权值。求去掉一条边之后,两棵子树上节点权值之和相差最小,输出这个差值。

Input

第一行输入nn (2n1052\leq n\leq 10^5),表示树有nn个节点(编号00n1n-1

第二行输入nn个数,第ii个数CiC_i表示表示节点i1i-1的权值 (104Ci104-10^4\leq C_i\leq 10^4)

第三行输入n1n-1个数,第ii个数PiP_i表示节点ii的父亲,即节点ii和节点PiP_i之间有一条边(0Pi<i0\leq P_i < i)

Output

一个数,表示最小的差值

Samples

5
1 1 1 1 1
0 0 1 1
1

Resources

qbwj