测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A8178. Party

编程题 普及/提高-

题目描述

A company has $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$ if at least one of the following is true:

- Employee $A$ is the immediate manager of employee $B$
- Employee $B$ has an immediate manager employee $C$ such that employee $A$ is the superior of employee $C$ .

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.

Today the company is going to arrange a party. This involves dividing all $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?

输入格式

The first line contains integer $n$ ( $1<=n<=2000$ ) — the number of employees.

The next $n$ lines contain the integers $p_{i}$ ( $1<=p_{i}<=n$ or $p_{i}=$ -1). Every $p_{i}$ denotes the immediate manager for the $i$ -th employee. If $p_{i}$ is -1, that means that the $i$ -th employee does not have an immediate manager.

It is guaranteed, that no employee will be the immediate manager of him/herself ( $p_{i}≠i$ ). Also, there will be no managerial cycles.

输出格式

Print a single integer denoting the minimum number of groups that will be formed in the party.

输入输出样例

输入 #1
5
-1
1
2
1
-1
输出 #1
3

说明/提示

For the first example, three groups are sufficient, for example:

- Employee 1
- Employees 2 and 4
- Employees 3 and 5
上一题 去做题 下一题