F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

没有兄弟的舞会

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 827    Accepted Submission(s): 276


Problem Description
度度熊、光羽、带劲三个人是好朋友。

度度熊有一棵$n$个点的有根树,其中1号点为树根。除根节点之外,每个点都有父节点,记$i$号点的父节点为$fa[i]$。

度度熊称点$i$和点$j$是**兄弟**(其中$i \neq j$)当且仅当$fa[i]=fa[j]$。

第$i$个点的权值为$A_i$。现要求选出一个点集,该点集合法当且仅当**点集中至多只有一对兄弟**。

度度熊想知道,在所有可行的点集中,权值和**最大**以及**最小**的点集权值和分别是多少?
 

Input
第一行一个数,表示数据组数$T$。

每组数据第一行一个整数$n$;第二行$n-1$个数,表示$fa[2],fa[3],..,fa[n]$;第三行$n$个数,表示$A_i$。

数据组数T=100,满足:

- $1 \le n \le 10^5$
- $-10^9 \le A_i \le 10^9$
- $1 \le fa[i] < i$

其中90%的数据满足$n \le 1000$。
 

Output
每组数据输出一行,每行包含两个数,分别表示权值和的**最大值**和**最小值**。
 

Sample Input
2 5 1 1 2 2 -4 -4 -1 -2 -5 5 1 1 3 2 -1 -4 2 0 -2
 

Sample Output
0 -15 2 -7
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 13:28:17, Gzip enabled