A. Sam的吐槽大会

    传统题 文件IO:criticize 1000ms 512MiB

Sam的吐槽大会

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

Sam 准备开一场吐槽大会,腹黑的他决定在一家公司内部邀请一部分人来参加。

在这家公司一共有 nn 个人,编号为 1n1 \sim n,每个员工都有一个吐槽值 aia_i,表示他对于吐槽的意愿强度,吐槽值越大,参加吐槽大会时他的表现就会越精彩!

并且每个员工都会有一个直属上司,但是 11 号是这家公司的 CEOCEO,没有上司。

Sam 将在同一个上司手下工作的员工称之为 同事 关系。

由于吐槽大会可能会影响 同事 之间的和睦关系,于是 Sam 决定挑选一部分员工来参加吐槽大会,但是这部分员工中不能存在任何两个人是 同事 关系。

但是 Sam 深思熟虑以后,又觉得这样也太无聊了,于是腹黑的 Sam 决定——可以有人是 同事 关系,但是最多只能出现两个人之间是 同事 关系。

现在 Sam 想知道,如何选择员工参加吐槽大会,可以满足这些人中最多只有两个人之间是 同事 关系,并且总的吐槽值最小和最大分别是多少?

输入格式

输入第一行包含一个整数 nn,表示公司人数。

输入第二行包含 nn 个整数,分别表示每个员工的吐槽值 aia_i

输入第三行包含 n1n-1 个整数,分别表示每个员工的直属上司编号 bi(2in)b_i(2 \leq i \leq n)

输出格式

输出第一行包含一个整数,表示最小的吐槽值之和。

输出第二行包含一个整数,表示最大的吐槽值之和。

数据范围

测试点编号 nn aia_i
121 \sim 2 10\leq 10 109ai109-10^9 \leq a_i \leq 10^9
353 \sim 5 100\leq 100
676 \sim 7 105\leq 10^5 0ai1090 \leq a_i \leq 10^9
8108 \sim 10 109ai109-10^9 \leq a_i \leq 10^9

对于所有数据满足 1bi<i1 \leq b_i < i

样例输入1

5
1 2 3 4 5
1 1 1 1

样例输出1

0
10

样例解释1

对于最小值:由于所有员工的吐槽值都大于 00,所以不选的吐槽值之和最小。

对于最大值:选 1,4,51,4,5 号,其中 4,54,5 是同事关系,所以不能再选其他人了。

样例输入2

10
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10
1 1 2 3 2 4 5 6 7

样例输出2

-53
0

2026模拟赛(七)

未参加
状态
已结束
规则
OI
题目
3
开始于
2026-7-7 18:30
结束于
2026-7-7 22:00
持续时间
3.5 小时
主持人
参赛人数
8