from sys import stdin
input=stdin.readline
def solv():
N = int(input())
C = [0]+list(map(int,input().split()))
Ginv=[[] for i in range(N+1)]
for i in range(1,N+1):
Ginv[C[i]].append(i)
best,bestx=0,0
notvisited=set(range(1,N+1))
res=[0]*(N+1)
while notvisited:
v=notvisited.pop()
cur=set()
while v not in cur:
cur.add(v)
v=C[v]
loop=set()
while v not in loop:
loop.add(v)
v=C[v]
for v in loop:
res[v]=len(loop)
if res[v]>bestx:
bestx=res[v]
best=v
notvisited.discard(v)
while loop:
tmp=set()
for v in loop:
notvisited.discard(v)
for w in Ginv[v]:
if res[w]==0:
res[w]=res[v]+1
tmp.add(w)
if res[w]>bestx:
bestx=res[w]
best=w
loop=tmp
print(best,bestx)
solv()
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 16ms | 3124 KiB | ||||
| subtask2 | 20/20 | ||||||
| 2 | Accepted | 18ms | 3632 KiB | ||||
| 3 | Accepted | 18ms | 3636 KiB | ||||
| 4 | Accepted | 17ms | 3628 KiB | ||||
| 5 | Accepted | 18ms | 3644 KiB | ||||
| 6 | Accepted | 18ms | 3736 KiB | ||||
| 7 | Accepted | 18ms | 3640 KiB | ||||
| 8 | Accepted | 18ms | 3636 KiB | ||||
| 9 | Accepted | 17ms | 3688 KiB | ||||
| 10 | Accepted | 17ms | 3820 KiB | ||||
| 11 | Accepted | 18ms | 3636 KiB | ||||
| 12 | Accepted | 18ms | 3640 KiB | ||||
| subtask3 | 0/18 | ||||||
| 13 | Time limit exceeded | 586ms | 55580 KiB | ||||
| 14 | Time limit exceeded | 550ms | 55656 KiB | ||||
| 15 | Time limit exceeded | 546ms | 55584 KiB | ||||
| 16 | Time limit exceeded | 587ms | 55568 KiB | ||||
| 17 | Time limit exceeded | 586ms | 58372 KiB | ||||
| 18 | Time limit exceeded | 561ms | 58384 KiB | ||||
| 19 | Time limit exceeded | 602ms | 58408 KiB | ||||
| 20 | Time limit exceeded | 555ms | 58560 KiB | ||||
| 21 | Time limit exceeded | 588ms | 77060 KiB | ||||
| 22 | Accepted | 486ms | 76860 KiB | ||||
| subtask4 | 0/42 | ||||||
| 23 | Accepted | 17ms | 3112 KiB | ||||
| 24 | Accepted | 18ms | 3632 KiB | ||||
| 25 | Accepted | 18ms | 3636 KiB | ||||
| 26 | Accepted | 17ms | 3628 KiB | ||||
| 27 | Accepted | 18ms | 3644 KiB | ||||
| 28 | Accepted | 18ms | 3736 KiB | ||||
| 29 | Accepted | 18ms | 3640 KiB | ||||
| 30 | Accepted | 18ms | 3636 KiB | ||||
| 31 | Accepted | 17ms | 3688 KiB | ||||
| 32 | Accepted | 17ms | 3820 KiB | ||||
| 33 | Accepted | 18ms | 3636 KiB | ||||
| 34 | Accepted | 18ms | 3640 KiB | ||||
| 35 | Time limit exceeded | 586ms | 55580 KiB | ||||
| 36 | Time limit exceeded | 550ms | 55656 KiB | ||||
| 37 | Time limit exceeded | 546ms | 55584 KiB | ||||
| 38 | Time limit exceeded | 587ms | 55568 KiB | ||||
| 39 | Time limit exceeded | 586ms | 58372 KiB | ||||
| 40 | Time limit exceeded | 561ms | 58384 KiB | ||||
| 41 | Time limit exceeded | 602ms | 58408 KiB | ||||
| 42 | Time limit exceeded | 555ms | 58560 KiB | ||||
| 43 | Time limit exceeded | 588ms | 77060 KiB | ||||
| 44 | Accepted | 486ms | 76860 KiB | ||||
| 45 | Time limit exceeded | 588ms | 53416 KiB | ||||
| 46 | Accepted | 446ms | 53232 KiB | ||||
| 47 | Accepted | 453ms | 53244 KiB | ||||
| 48 | Time limit exceeded | 587ms | 53260 KiB | ||||
| 49 | Time limit exceeded | 587ms | 53280 KiB | ||||
| 50 | Accepted | 479ms | 56832 KiB | ||||
| 51 | Accepted | 476ms | 56804 KiB | ||||
| 52 | Time limit exceeded | 601ms | 57032 KiB | ||||
| 53 | Accepted | 476ms | 59192 KiB | ||||
| 54 | Accepted | 465ms | 59664 KiB | ||||