212852026-01-12 17:49:51horvayzsomborHírlánccpp17Time limit exceeded 20/80600ms29020 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++)
    {
        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
1Accepted1ms316 KiB
subtask220/20
2Accepted3ms316 KiB
3Accepted3ms316 KiB
4Accepted6ms316 KiB
5Accepted9ms316 KiB
6Accepted9ms444 KiB
7Accepted9ms316 KiB
8Accepted17ms460 KiB
9Accepted28ms484 KiB
10Accepted4ms316 KiB
11Accepted19ms316 KiB
12Accepted25ms480 KiB
subtask30/18
13Time limit exceeded588ms2160 KiB
14Time limit exceeded588ms2276 KiB
15Time limit exceeded588ms3048 KiB
16Time limit exceeded588ms4208 KiB
17Time limit exceeded583ms10120 KiB
18Time limit exceeded583ms11624 KiB
19Time limit exceeded583ms11640 KiB
20Time limit exceeded583ms11628 KiB
21Time limit exceeded593ms24476 KiB
22Time limit exceeded596ms29020 KiB
subtask40/42
23Accepted2ms316 KiB
24Accepted3ms316 KiB
25Accepted3ms316 KiB
26Accepted6ms316 KiB
27Accepted9ms316 KiB
28Accepted9ms444 KiB
29Accepted9ms316 KiB
30Accepted17ms460 KiB
31Accepted28ms484 KiB
32Accepted4ms316 KiB
33Accepted19ms316 KiB
34Accepted25ms480 KiB
35Time limit exceeded588ms2160 KiB
36Time limit exceeded588ms2276 KiB
37Time limit exceeded588ms3048 KiB
38Time limit exceeded588ms4208 KiB
39Time limit exceeded583ms10120 KiB
40Time limit exceeded583ms11624 KiB
41Time limit exceeded583ms11640 KiB
42Time limit exceeded583ms11628 KiB
43Time limit exceeded593ms24476 KiB
44Time limit exceeded596ms29020 KiB
45Time limit exceeded583ms2024 KiB
46Time limit exceeded583ms2160 KiB
47Time limit exceeded583ms2416 KiB
48Time limit exceeded598ms2788 KiB
49Time limit exceeded578ms3968 KiB
50Time limit exceeded578ms6032 KiB
51Time limit exceeded578ms6028 KiB
52Time limit exceeded600ms6020 KiB
53Time limit exceeded586ms8484 KiB
54Time limit exceeded587ms11328 KiB