213162026-01-12 18:23:55horvayzsomborHírlánccpp17Időlimit túllépés 38/80600ms11432 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];

        while(to != x)
        {
            size++;
            to = t[to];
        }

        ans[x] = size;
        to = t[x];

        while(to != x)
        {
            ans[to] = size;
            to = t[to];
        }
        
        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
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms316 KiB
3Elfogadva2ms512 KiB
4Elfogadva4ms316 KiB
5Elfogadva4ms552 KiB
6Elfogadva4ms416 KiB
7Elfogadva4ms424 KiB
8Elfogadva8ms316 KiB
9Elfogadva13ms432 KiB
10Elfogadva2ms508 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms316 KiB
subtask318/18
13Elfogadva128ms2016 KiB
14Elfogadva85ms2024 KiB
15Elfogadva82ms2284 KiB
16Elfogadva82ms2780 KiB
17Elfogadva86ms4720 KiB
18Elfogadva90ms5232 KiB
19Elfogadva85ms5344 KiB
20Elfogadva86ms5352 KiB
21Elfogadva90ms9780 KiB
22Elfogadva89ms11432 KiB
subtask40/42
23Elfogadva1ms512 KiB
24Elfogadva2ms316 KiB
25Elfogadva2ms512 KiB
26Elfogadva4ms316 KiB
27Elfogadva4ms552 KiB
28Elfogadva4ms416 KiB
29Elfogadva4ms424 KiB
30Elfogadva8ms316 KiB
31Elfogadva13ms432 KiB
32Elfogadva2ms508 KiB
33Elfogadva2ms316 KiB
34Elfogadva2ms316 KiB
35Elfogadva128ms2016 KiB
36Elfogadva85ms2024 KiB
37Elfogadva82ms2284 KiB
38Elfogadva82ms2780 KiB
39Elfogadva86ms4720 KiB
40Elfogadva90ms5232 KiB
41Elfogadva85ms5344 KiB
42Elfogadva86ms5352 KiB
43Elfogadva90ms9780 KiB
44Elfogadva89ms11432 KiB
45Időlimit túllépés582ms2016 KiB
46Időlimit túllépés582ms2028 KiB
47Időlimit túllépés583ms2160 KiB
48Időlimit túllépés600ms2416 KiB
49Időlimit túllépés578ms2792 KiB
50Időlimit túllépés578ms3516 KiB
51Időlimit túllépés578ms3440 KiB
52Időlimit túllépés600ms3444 KiB
53Időlimit túllépés575ms4208 KiB
54Időlimit túllépés577ms5416 KiB