AT_aising2019_e Attack to a Tree

题目描述

一棵有 $N$ 个节点的树,节点编号 $1$ 到 $N$。$(N-1)$ 条边中的第 $i$ 条连接节点 $U_i$ 和节点 $V_i$。点 $v$ 有非零点权 $A_v$。 现在要删去一部分边,使得各个连通块均满足以下两个条件之一: - 连通块内点的点权均为正数; - 连通块内点的点权和为负数。 请求出删去的边数的最小值。

输入格式

第一行输入单个整数 $N$。 第二行输入 $N$ 个整数,依次表示 $A_1$ 到 $A_N$。 最后 $(N-1)$ 行,第 $i$ 行输入两个整数 $U_i$ 和 $V_i$。

输出格式

一行一个整数表示答案。

说明/提示

#### 样例 #1 解释 切断第 $1,2$ 条边即可。 #### 数据规模与约定 对于全部测试数据,保证: - $1\le N\le 5000$; - 当 $1\le i\le N$ 时,$1\le |A_i|\le 10^9$。 - 当 $1\le i\le N-1$ 时,$1\le U_i,V_i\le N$,$U_i\neq V_i$。