时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
给定一棵树 T ,树 T 上每个点都有一个权值。
定义一颗树的子链的大小为:这个子链上所有结点的权值和 。
请在树 T 中找出一条最大的子链并输出。
输入描述:
第一行输入一个

。
接下来一行包含n个数,对于每个数

,表示 i 结点的权值。
接下来有n-1行,每一行包含两个数u,v(

, u != v),表示u与v之间有一条边。
输出描述:
仅包含一个数,表示我们所需要的答案。
示例1
输入
复制
5
2 -1 -1 -2 3
1 2
2 3
2 4
2 5
备注:
一个结点,也可以称作一条链