212852026-01-12 17:49:51horvayzsomborHírlánccpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva3ms316 KiB
3Elfogadva3ms316 KiB
4Elfogadva6ms316 KiB
5Elfogadva9ms316 KiB
6Elfogadva9ms444 KiB
7Elfogadva9ms316 KiB
8Elfogadva17ms460 KiB
9Elfogadva28ms484 KiB
10Elfogadva4ms316 KiB
11Elfogadva19ms316 KiB
12Elfogadva25ms480 KiB
subtask30/18
13Időlimit túllépés588ms2160 KiB
14Időlimit túllépés588ms2276 KiB
15Időlimit túllépés588ms3048 KiB
16Időlimit túllépés588ms4208 KiB
17Időlimit túllépés583ms10120 KiB
18Időlimit túllépés583ms11624 KiB
19Időlimit túllépés583ms11640 KiB
20Időlimit túllépés583ms11628 KiB
21Időlimit túllépés593ms24476 KiB
22Időlimit túllépés596ms29020 KiB
subtask40/42
23Elfogadva2ms316 KiB
24Elfogadva3ms316 KiB
25Elfogadva3ms316 KiB
26Elfogadva6ms316 KiB
27Elfogadva9ms316 KiB
28Elfogadva9ms444 KiB
29Elfogadva9ms316 KiB
30Elfogadva17ms460 KiB
31Elfogadva28ms484 KiB
32Elfogadva4ms316 KiB
33Elfogadva19ms316 KiB
34Elfogadva25ms480 KiB
35Időlimit túllépés588ms2160 KiB
36Időlimit túllépés588ms2276 KiB
37Időlimit túllépés588ms3048 KiB
38Időlimit túllépés588ms4208 KiB
39Időlimit túllépés583ms10120 KiB
40Időlimit túllépés583ms11624 KiB
41Időlimit túllépés583ms11640 KiB
42Időlimit túllépés583ms11628 KiB
43Időlimit túllépés593ms24476 KiB
44Időlimit túllépés596ms29020 KiB
45Időlimit túllépés583ms2024 KiB
46Időlimit túllépés583ms2160 KiB
47Időlimit túllépés583ms2416 KiB
48Időlimit túllépés598ms2788 KiB
49Időlimit túllépés578ms3968 KiB
50Időlimit túllépés578ms6032 KiB
51Időlimit túllépés578ms6028 KiB
52Időlimit túllépés600ms6020 KiB
53Időlimit túllépés586ms8484 KiB
54Időlimit túllépés587ms11328 KiB