兄弟
题目描述 一棵𝑛𝑛个点的有根树,其中1号点为树根。除根节点之外,每个点都有父节点,记𝑖𝑖 号点的父节点为𝑓𝑓𝑖𝑖 。
两个不同的点𝑖𝑖和点𝑗𝑗是兄弟当且仅当𝑓𝑓𝑖𝑖 = 𝑓𝑓𝑗𝑗 。
第𝑖𝑖个点的权值为𝑎𝑎𝑖𝑖 。现要求选出一个点集,该点集合法当且仅当点集中至多只有 一对兄弟。
在所有合法的点集中,权值和最大以及最小的点集权值和分别是多少?
输入格式 第一行输入一个正整数 𝑛𝑛。
第二行𝑛𝑛 − 1个数,表示𝑓𝑓2 , 𝑓𝑓3 , … , 𝑓𝑓𝑛𝑛 。
接下来一行𝑛𝑛个数,𝑎𝑎1 , 𝑎𝑎2 , … , 𝑎𝑎𝑛𝑛 。
输出格式 输出两个数,分别表示最大值和最小值。
样例输入 1 5 1 1 3 2 -1 -4 2 0 -2
样例输出 1 2 -7
样例输入输出 2 见下发文件。
数据规模 共 10 个测试点。
测试点1,2满足𝑛𝑛 ≤ 10。
测试点3,4,5满足𝑛𝑛 ≤ 100。
测试点6,7满足𝑎𝑎𝑖𝑖 ≥ 0。
对于所有数据,满足1 ≤ 𝑛𝑛 ≤ 105 , −109 ≤ 𝑎𝑎𝑖𝑖 ≤ 109 , 1 ≤ 𝑓𝑓𝑖𝑖 < 𝑖𝑖。