#876. 树上差分模板

树上差分模板

树上差分模板

题目描述

在含有n个结点的树中,小A按照a1,a2,a3......an的顺序访问各个结点。每走到一个结点,小A就可以从中拿一块糖果吃。特殊的,最后到达an结点时不拿糖果吃。

现在为了保证小A有糖果吃,请问需要在每一个结点各放至少多少个糖果?

输入格式

第一行一个正整数 nn,表示结点个数第二行 nn 个正整数,依次描述 a1,a2,,ana_1, a_2,\cdots,a_n

接下来 n1n-1 行,每行两个正整数 x,yx,y,表示标号 xxyy 的两个结点之间有边相连。

输出格式

一共 nn 行,第 ii 行输出标号为 ii 的结点至少需要放多少个糖果,才能让小A有糖果吃。

样例 #1

样例输入 #1

5
1 4 5 3 2
1 2
2 4
2 3
4 5

样例输出 #1

1
2
1
2
1

提示

对于全部的数据,2n3×1052 \le n \le 3 \times 10^51ain1 \le a_i \le n