提示: 欢迎访问OurACM平台。
Problem 1229 和谐短信问题

Accept: 247    Submit: 734
Time Limit: 1000 mSec    Memory Limit : 65536 KB

Problem Description

设有一个由 n 个人组成的社团。社团中的每个成员给社团中的一个成员发送一条短信。如果有一个由社团成员组成的子社团,每个子社团中成员恰好收到一条由该子社团成员发送的短信,则称这个子社团为一个和谐子社团。和谐短信问题要求社团的最大和谐子社团。例如,设有一个由 7 个人组成的社团。将社团中的成员编号为:0,1,…,6。他们分别发送一条短信给社团成员:1,0,0,2,2,3,6。则容易看出社团成员 0,1,6 构成一个最大和谐子社团。

★算法设计: 对于给定的由 n 个人组成的社团以及社团员间发送短信的信息,设计一个计算最大和谐子社团的算法。

Input

对于每组输入数据,输入数据的第 1 行有 1 个正整数 n (1<=n<=600,000),表示社团由 n 个人组成。将社团中的成员编号为:0,1,…,n-1。第 i 个人发送一条短信给社团中成员 f (i) ,0 <= i < n ,0 <= f (i) < n 。文件的第 2 行是 f (i) 的值, 0 <= i < n 。

Output

输出计算出的社团的最大和谐子社团大小。

Sample Input

7 1 0 0 2 2 3 6

Sample Output

3

Source

FJ CFCS 2008

Submit  Back  Status  Discuss