You are given an undirected tree rooted at node 0 with n nodes numbered from 0 to n - 1, represented by a 2D array edges of length n - 1, where edges[i] = [u_i, v_i, length_i] indicates an edge between nodes u_i and v_i with length length_i.
You are also given an integer array nums, where nums[i] represents the value at node i.
A special path is defined as a downward path from an ancestor node to a descendant node such that all the values of the nodes in that path are unique.
Note that a path may start and end at the same node.
Return an array result of size 2, where result[0] is the length of the longest special path, and result[1] is the minimum number of nodes in all possible longest special paths.
Input & Output
Constraints
- 1 ≤ n ≤ 105
- 0 ≤ edges.length ≤ n - 1
- edges[i].length = 3
- 0 ≤ ui, vi ≤ n - 1
- 1 ≤ lengthi ≤ 105
- 1 ≤ nums[i] ≤ 105