213112026-01-12 18:19:38horvayzsomborHírlánccpp17Time limit exceeded 38/80600ms28332 KiB
#include <iostream>
#include <vector>
#include <climits>

using namespace std;

void visit(int x, vector<char> &vis, vector<int> &t, vector<int> &ans)
{
    if(vis[x])
    {
        int size = 1;
        int to = t[x];

        vector<int> index;
        index.push_back(x);

        while(to != x)
        {
            index.push_back(to);

            size++;
            to = t[to];
        }

        for(int i = 0; i < (int)index.size(); i++)
        {
            ans[index[i]] = size;
        }

        return;
    }

    vis[x] = 1;
    visit(t[x], vis, t, ans);

    if(ans[x] != 0) return;

    ans[x] = ans[t[x]] + 1;
}

int main()
{
    int n;
    cin >> n;

    vector<int> t(n + 1);

    for(int i = 1; i <= n; i++)
    {
        cin >> t[i];
    }
    
    vector<int> ans(n + 1);

    int maxe = INT_MIN;
    int index;

    for(int i = 1; i <= n; i++)
    {
        if(ans[i] == 0)
        {
            vector<char> vis(n + 1);

            visit(i, vis, t, ans);
        }

        if(ans[i] > maxe)
        {
            maxe = ans[i];
            index = i;
        }
    }

    cout << index << " " << maxe;

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms508 KiB
subtask220/20
2Accepted3ms316 KiB
3Accepted3ms508 KiB
4Accepted4ms316 KiB
5Accepted6ms316 KiB
6Accepted4ms316 KiB
7Accepted4ms316 KiB
8Accepted9ms460 KiB
9Accepted14ms316 KiB
10Accepted2ms316 KiB
11Accepted2ms540 KiB
12Accepted2ms316 KiB
subtask318/18
13Accepted133ms2164 KiB
14Accepted86ms2184 KiB
15Accepted85ms3192 KiB
16Accepted85ms4072 KiB
17Accepted93ms9952 KiB
18Accepted93ms11456 KiB
19Accepted94ms11472 KiB
20Accepted96ms11456 KiB
21Accepted101ms23588 KiB
22Accepted114ms28332 KiB
subtask40/42
23Accepted1ms512 KiB
24Accepted3ms316 KiB
25Accepted3ms508 KiB
26Accepted4ms316 KiB
27Accepted6ms316 KiB
28Accepted4ms316 KiB
29Accepted4ms316 KiB
30Accepted9ms460 KiB
31Accepted14ms316 KiB
32Accepted2ms316 KiB
33Accepted2ms540 KiB
34Accepted2ms316 KiB
35Accepted133ms2164 KiB
36Accepted86ms2184 KiB
37Accepted85ms3192 KiB
38Accepted85ms4072 KiB
39Accepted93ms9952 KiB
40Accepted93ms11456 KiB
41Accepted94ms11472 KiB
42Accepted96ms11456 KiB
43Accepted101ms23588 KiB
44Accepted114ms28332 KiB
45Time limit exceeded574ms2160 KiB
46Time limit exceeded575ms2024 KiB
47Time limit exceeded575ms2284 KiB
48Time limit exceeded600ms2672 KiB
49Time limit exceeded577ms4072 KiB
50Time limit exceeded579ms6024 KiB
51Time limit exceeded579ms6020 KiB
52Time limit exceeded600ms6032 KiB
53Time limit exceeded577ms8488 KiB
54Time limit exceeded580ms11324 KiB