213112026-01-12 18:19:38horvayzsomborHírlánccpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms508 KiB
subtask220/20
2Elfogadva3ms316 KiB
3Elfogadva3ms508 KiB
4Elfogadva4ms316 KiB
5Elfogadva6ms316 KiB
6Elfogadva4ms316 KiB
7Elfogadva4ms316 KiB
8Elfogadva9ms460 KiB
9Elfogadva14ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms540 KiB
12Elfogadva2ms316 KiB
subtask318/18
13Elfogadva133ms2164 KiB
14Elfogadva86ms2184 KiB
15Elfogadva85ms3192 KiB
16Elfogadva85ms4072 KiB
17Elfogadva93ms9952 KiB
18Elfogadva93ms11456 KiB
19Elfogadva94ms11472 KiB
20Elfogadva96ms11456 KiB
21Elfogadva101ms23588 KiB
22Elfogadva114ms28332 KiB
subtask40/42
23Elfogadva1ms512 KiB
24Elfogadva3ms316 KiB
25Elfogadva3ms508 KiB
26Elfogadva4ms316 KiB
27Elfogadva6ms316 KiB
28Elfogadva4ms316 KiB
29Elfogadva4ms316 KiB
30Elfogadva9ms460 KiB
31Elfogadva14ms316 KiB
32Elfogadva2ms316 KiB
33Elfogadva2ms540 KiB
34Elfogadva2ms316 KiB
35Elfogadva133ms2164 KiB
36Elfogadva86ms2184 KiB
37Elfogadva85ms3192 KiB
38Elfogadva85ms4072 KiB
39Elfogadva93ms9952 KiB
40Elfogadva93ms11456 KiB
41Elfogadva94ms11472 KiB
42Elfogadva96ms11456 KiB
43Elfogadva101ms23588 KiB
44Elfogadva114ms28332 KiB
45Időlimit túllépés574ms2160 KiB
46Időlimit túllépés575ms2024 KiB
47Időlimit túllépés575ms2284 KiB
48Időlimit túllépés600ms2672 KiB
49Időlimit túllépés577ms4072 KiB
50Időlimit túllépés579ms6024 KiB
51Időlimit túllépés579ms6020 KiB
52Időlimit túllépés600ms6032 KiB
53Időlimit túllépés577ms8488 KiB
54Időlimit túllépés580ms11324 KiB