3804: 树(第六轮02)

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

题目描述

一棵n个节点的树,每个点是黑色或者白色。每条边有边权。

设s是黑色点的集合, T是白色点的集合。则树的价值是Σu∈s Σv∈T dis(u, v)。 dis(u, v)指的是树上u到v 的简单路径包含的边的边权最大值。

简单路径指路径上的顶点都不相同的路径。

 

至多可以改变一个点的颜色,最大化树的价值。

大样例:sample.zip

输入

输入包含n + 1行。

第一行输入一个正整数n。

第二行输入n个整数,第i个整数ci 表示节点i的颜色,其中ci  = 0,1分别表示节点是白色/黑色。

接下来n − 1行,每行3个正整数u, v, w,表示连接节点u, v 的双向边,边权是w。

输出

输出一个正整数,表示树的最大价值。

样例输入 复制

3
0 0 1
1 2 1
1 3 2

样例输出 复制

4

提示

【样例 1 输入】

3

0 0 1

1 2 1

1 3 2

【样例 1 输出】

4

【样例 2 输入】

4

0 1 0 1

1 2 3

2 4 2

3 2 3

【样例 2 输出】

12

【备注】

对于所有的测试点,0 ≤ ci  ≤ 1,1 ≤ u, v ≤ n, 1 ≤ w ≤ 109 。其中u ≠ v,保证(u, v, w)2T  形成一 棵树。

- 对于测试点1 ∼ 2: 1 ≤ n ≤ 10。

- 对于测试点3 ∼ 4: 1 ≤ n ≤ 10^2 。

- 对于测试点5 ∼ 10: 1 ≤ n ≤ 3 × 10^3 。


来源/分类