#include <bits/stdc++.h>
using namespace std;
int a[20005];
int n;
int check(){
int i=0;
int len=0;
while(i!=-1){
i=a[i];
len++;
if(len > 100){len=0; break;}
}
return len;
}
int main(){
cin >> n;
for(int i=0; i<n; i++){cin >> a[i];}
int mxlen=0;
vector<int> init = {0};
int i=0;
int len=0;
while(i!=-1){
i=a[i];
init.push_back(i);
len++;
if(len > 100){break;}
}
for(int i: init){
for(int j=-1; j<n; j++){
int temp = a[i];
a[i] = j;
mxlen = max(mxlen, check());
a[i] = temp;
}
}
cout << mxlen << '\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |