问题 D: 独立集最大权

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:11 解决:5

题目描述

给定一棵 n 个节点的树,每个节点 i 有一个权值 wi。你需要选出一些节点,使得任意两个被选中的节点都不相邻(即构成一个独立集),并且被选中节点的权值之和最大。

求这个最大权值和。

输入

  • 第一行一个整数 n,表示节点个数。

  • 第二行 n 个整数 w1,w2,…,wn,表示每个节点的权值。

  • 接下来 n−1 行,每行两个整数 u,v,表示节点 u 和节点 v 之间有一条边。

输出

输出一个整数,表示最大权值和。

样例输入 复制

3
1 2 3
1 2
2 3

样例输出 复制

4

提示

1<=n<=105  −104≤wi≤104