CF115A.Party
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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 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.
It is guaranteed, that no employee will be the immediate manager of him/herself ( pi=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