185652025-10-27 10:10:55KristófHírlánccpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva1ms316 KiB
3Elfogadva1ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms420 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms536 KiB
subtask318/18
13Elfogadva78ms2000 KiB
14Elfogadva79ms2008 KiB
15Elfogadva81ms2260 KiB
16Elfogadva82ms2520 KiB
17Elfogadva86ms4660 KiB
18Elfogadva86ms5092 KiB
19Elfogadva87ms5080 KiB
20Elfogadva86ms5076 KiB
21Elfogadva90ms9448 KiB
22Elfogadva90ms11316 KiB
subtask442/42
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva1ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms420 KiB
29Elfogadva2ms316 KiB
30Elfogadva2ms316 KiB
31Elfogadva2ms316 KiB
32Elfogadva2ms316 KiB
33Elfogadva2ms316 KiB
34Elfogadva2ms536 KiB
35Elfogadva78ms2000 KiB
36Elfogadva79ms2008 KiB
37Elfogadva81ms2260 KiB
38Elfogadva82ms2520 KiB
39Elfogadva86ms4660 KiB
40Elfogadva86ms5092 KiB
41Elfogadva87ms5080 KiB
42Elfogadva86ms5076 KiB
43Elfogadva90ms9448 KiB
44Elfogadva90ms11316 KiB
45Elfogadva75ms1844 KiB
46Elfogadva76ms1920 KiB
47Elfogadva76ms2100 KiB
48Elfogadva76ms2100 KiB
49Elfogadva78ms2616 KiB
50Elfogadva81ms3124 KiB
51Elfogadva81ms3124 KiB
52Elfogadva81ms3356 KiB
53Elfogadva79ms4340 KiB
54Elfogadva82ms4916 KiB