185652025-10-27 10:10:55KristófHírlánccpp17Accepted 80/8090ms11316 KiB
#include <iostream>
#include <vector>
using namespace std;

vector<int> graph;
vector<bool> visited;
vector<int> length_of_message;
void dfs(int s)
{
visited[s]=true;
if(length_of_message[graph[s]]!=-1)
    {
    length_of_message[s]=length_of_message[graph[s]]+1;
    return;
    }
if(visited[graph[s]] )
    {
    int cnt=1;
    int i=graph[s];

    while(i!=s)
        {
        //cout<<i<<" "<<s<<endl;
        cnt++;
        i=graph[i];
        }
    length_of_message[i]=cnt;
    i=graph[s];

    while(i!=s)
        {
        length_of_message[i]=cnt;
        i=graph[i];
        }
    }
//cout<<"a";
if(!visited[graph[s]])
    dfs(graph[s]);
if(length_of_message[s]==-1)
    {
    length_of_message[s]=length_of_message[graph[s]]+1;
    }
return;
}


int main()
{
    int n;
    cin>>n;
    graph.resize(n+1);
    length_of_message.resize(n+1,-1);
    visited.resize(n+1,false);
    for(int i=1;i<=n;i++)
        {
        cin>>graph[i];
        }
    int max=-1,start;
    for(int i=1;i<=n;i++)
        {
        if(!visited[i])
            {
            dfs(i);
            }
        if(length_of_message[i]>max)
            {
            max=length_of_message[i];
            start=i;
            }
        }
    cout<<start<<" "<<max;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask220/20
2Accepted1ms316 KiB
3Accepted1ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms316 KiB
6Accepted2ms420 KiB
7Accepted2ms316 KiB
8Accepted2ms316 KiB
9Accepted2ms316 KiB
10Accepted2ms316 KiB
11Accepted2ms316 KiB
12Accepted2ms536 KiB
subtask318/18
13Accepted78ms2000 KiB
14Accepted79ms2008 KiB
15Accepted81ms2260 KiB
16Accepted82ms2520 KiB
17Accepted86ms4660 KiB
18Accepted86ms5092 KiB
19Accepted87ms5080 KiB
20Accepted86ms5076 KiB
21Accepted90ms9448 KiB
22Accepted90ms11316 KiB
subtask442/42
23Accepted1ms316 KiB
24Accepted1ms316 KiB
25Accepted1ms316 KiB
26Accepted2ms316 KiB
27Accepted2ms316 KiB
28Accepted2ms420 KiB
29Accepted2ms316 KiB
30Accepted2ms316 KiB
31Accepted2ms316 KiB
32Accepted2ms316 KiB
33Accepted2ms316 KiB
34Accepted2ms536 KiB
35Accepted78ms2000 KiB
36Accepted79ms2008 KiB
37Accepted81ms2260 KiB
38Accepted82ms2520 KiB
39Accepted86ms4660 KiB
40Accepted86ms5092 KiB
41Accepted87ms5080 KiB
42Accepted86ms5076 KiB
43Accepted90ms9448 KiB
44Accepted90ms11316 KiB
45Accepted75ms1844 KiB
46Accepted76ms1920 KiB
47Accepted76ms2100 KiB
48Accepted76ms2100 KiB
49Accepted78ms2616 KiB
50Accepted81ms3124 KiB
51Accepted81ms3124 KiB
52Accepted81ms3356 KiB
53Accepted79ms4340 KiB
54Accepted82ms4916 KiB