Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Input
- n = int(input())
- s = [int(x) for x in input().rstrip().split()]
- # Init
- mas_len = [0] * n
- mas_len[s.index(-1)] = -1
- lst = []
- # Main
- for i in range(n):
- if mas_len[i] != 0:
- continue
- lst.append(i)
- cur = s[i]
- while cur != -1:
- if mas_len[cur] != 0:
- break
- lst.append(cur)
- cur = s[cur]
- for j in range(len(lst)):
- tmp = lst.pop()
- if mas_len[cur] == -1:
- mas_len[tmp] = mas_len[cur] + j + 3
- else:
- mas_len[tmp] = mas_len[cur] + j + 1
- # Output
- # print(mas_len)
- if max(mas_len) == -1:
- print('1')
- else:
- print(max(mas_len))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement