luogu#P4189. [CTSC2010] 星际旅行

[CTSC2010] 星际旅行

题目描述

公元30003000年,地球联盟已经攻占了银河系内的NN个星球,出于资金的考虑,政府仅仅在星球间建立了N1N-1条双向时空隧道保证任意两个星球之间互相可达。出于管理上的考虑,第ii个星球的行政长官要求每个公民在一年内不得从该星球利用时空隧道次数超过HiH_i次(这一统计是基于离开次数统计的,如果你已经使用从该星球离开过HiH_i次,那么这一年内你就不能再使用时空隧道离开这个星球了)。Louis Paosen是一个星际旅行家,他希望能使用尽量多次的时空隧道,但又不希望最终被迫定居的星球条件太过恶劣。所以他希望能知道对于每个星球ii,若从00号星球出发,最终以ii号星球为终点,这样的星际旅行途中最多可以使用多少次时空隧道。

输入格式

输入文件galaxy.in的第一行包含一个整数NN。接下来的一行包含NN个整数HiH_i,分别表示每个星球的离开次数限制。接下来N1N-1行每行两个整数,表示这两个星球之间有时空隧道连接。星球的编号从00开始,Louis Paosen一开始在00号星球。

输出格式

输出文件为galaxy.out。文件包含NN行,每行一个整数,表示如果最终旅行结束在这个星球,最多可以使用时空隧道的次数。

3
2 6 2
0 1
1 2

8
7
8

提示

40%40 \%的数据N500N \leq 500

100%100 \%的数据中N50000N \leq 50000

所有星球的离开次数限制满足1Hi400001 \leq H_i \leq 40000,且每个星球的HiH_i大于等于与该星球直接相连的星球数(即度数)。