#4716. 道路监控

道路监控

题目背景

城市里的道路构成一棵无向树,每个路口安装监控都有对应的成本,每条道路两端至少有一处安装监控才能实现全覆盖,求最低总花费。

题目描述

给定有 nn 个路口的无根树,每个路口安装监控需要花费 wiw_i。 若在某个路口安装监控,所有与该路口直接相连的道路都会被覆盖。 规定每条道路至少有一端路口安装监控,请求出满足全覆盖要求的最小总花费。

输入描述

第一行一个整数 nn,代表路口总数量。 第二行包含 nn 个整数,第 ii 个数字代表第 ii 号路口安装监控的花费 wiw_i。 接下来 n1n-1 行,每行两个整数 u,vu,v,表示路口 uuvv 之间连通一条道路。 路口编号范围:1u,vn1 \le u,v \le n

输出描述

输出单独一行一个整数,代表全覆盖所有道路需要的最小总花费。

输入样例1

4
5 1 3 4
1 2
2 3
2 4

输出样例1

1

样例解释:仅在2号路口安装监控,花费1,所有道路全部覆盖。

输入样例2

5
10 2 1 5 7
1 2
1 3
3 4
3 5

输出样例2

3

样例解释:选择2号、3号路口安装监控,总花费 2+1=32+1=3,为最优方案。

数据范围

2n15002 \le n \le 1500 1wi10001 \le w_i \le 1000 输入保证为合法树,不存在自环、重复道路。