CF1467E Distinctive Roots in a Tree
Description
You are given a tree with $ n $ vertices. Each vertex $ i $ has a value $ a_i $ associated with it.
Let us root the tree at some vertex $ v $ . The vertex $ v $ is called a distinctive root if the following holds: in all paths that start at $ v $ and end at some other node, all the values encountered are distinct. Two different paths may have values in common but a single path must have all distinct values.
Find the number of distinctive roots in the tree.
Input Format
The first line of the input contains a single integer $ n $ ( $ 1 \le n \le 2\cdot10^5 $ ) — the number of vertices in the tree.
The next line contains $ n $ space-separated integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ ).
The following $ n-1 $ lines each contain two space-separated integers $ u $ and $ v $ ( $ 1 \le u $ , $ v \le n $ ), denoting an edge from $ u $ to $ v $ .
It is guaranteed that the edges form a tree.
Output Format
Print a single integer — the number of distinctive roots in the tree.
Explanation/Hint
In the first example, $ 1 $ , $ 2 $ and $ 5 $ are distinctive roots.