#include<bits/stdc++.h>//添加虚根节点0使图变成一棵树,显然答案即为树的深度-1
using namespace std;
int n,f[10001],ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int p;
cin>>p;
if(p!=-1)
f[i]=p;
}
for(int i=1;i<=n;i++){
int tmp=i,cnt=1;
while(f[tmp])
tmp=f[tmp],cnt++;
ans=max(ans,cnt);
}
cout<<ans;
return 0;
}

京公网安备 11010502036488号