U560101 [WPXCO 1.2 MAY]Observe

题目背景

本题搬自[WPXOJ](http://www.xn--4gvz61aoo7a.xn--fiqs8s/problem/52)

题目描述

Kirole 有一颗 $n$ 个果子的果树(即树形结构),每一条枝干可视为该果树的一条边,而枝干的交叉点或端点视为一个果子。 Kirole 为了实时记录果子的情况,需要在某些果子上部署监控。在第 $i$ 个果子上部署监控的费用是 $A_i$。当部署好后,与该果子直接相连的所有枝干均能被监控到。为了让 Kirole 花费最少,在保证整棵果树的所有枝干都被监控到的前提下,部署监控的花费要尽可能少。给定在每个果子部署监控的花费,请计算要使所有果子都能被监控到的最少花费是多少。

输入格式

第一行一个正整数 $n$ 表示果子的数量。 第二行 $n$ 个正整数 $A_1, A_2\ldots A_n$ 表示在不同果子上部署监控的花费。 接下来 $n - 1$ 行,每行两个正整数 $a, b$ 表示第 $a$ 个果子与第 $b$ 个果子之间有一条枝干。

输出格式

输出一个整数,表示要使所有枝干均能被监控到的最少花费。

说明/提示

对于 $100\%$ 的数据,保证 $1 \le n \le 10^4, 1 \le A_i \le 10^5, 1 \le a, b \le n$