点击打开链接
A. Party
time limit per test
memory limit per test
input
output
n employees numbered from 1 to n. Each employee either has no immediate manager or exactly one immediate manager, who is another employee with a different number. An employee A is said to be the superior of another employee B
- Ais the immediate manager of employeeB
- Bhas an immediate manager employeeCsuch that employeeAis the superior of employeeC.
The company will not have a managerial cycle. That is, there will not exist an employee who is the superior of his/her own immediate manager.
n employees into several groups: every employee must belong to exactly one group. Furthermore, within any single group, there must not be two employees A and B such that A is the superior of B.
What is the minimum number of groups that must be formed?
Input
n (1 ≤ n ≤ 2000) — the number of employees.
n lines contain the integers pi (1 ≤ pi ≤ n or pi-1). Every pi denotes the immediate manager for the i-th employee. If pi is -1, that means that the i-th employee does not have an immediate manager.
pi ≠ i). Also, there will be no managerial cycles.
Output
Print a single integer denoting the minimum number of groups that will be formed in the party.
Examples
input
output
3
Note
For the first example, three groups are sufficient, for example:
- Employee 1
- Employees 2 and 4
- Employees 3 and 5
求树的最大深度,用并查集,不用压缩路径。