- Time limit: 1.00 s
- Memory limit: 512 MB
You are given a rooted tree consisting of n nodes. The nodes are numbered 1,2,\ldots,n, and node 1 is the root. Each node has a color.
Your task is to determine for each node the number of distinct colors in the subtree of the node.
The first input line contains an integer n: the number of nodes. The nodes are numbered 1,2,\ldots,n.
The next line consists of n integers c_1,c_2,\ldots,c_n: the color of each node.
Then there are n-1 lines describing the edges. Each line contains two integers a and b: there is an edge between nodes a and b.
Print n integers: for each node 1,2,\ldots,n, the number of distinct colors.
- 1 \le n \le 2 \cdot 10^5
- 1 \le a,b \le n
- 1 \le c_i \le 10^9
5 2 3 2 2 1 1 2 1 3 3 4 3 5
3 1 2 1 1