212972026-01-12 17:56:27horvayzsomborHí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
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms412 KiB
3Elfogadva2ms316 KiB
4Elfogadva4ms428 KiB
5Elfogadva6ms316 KiB
6Elfogadva4ms408 KiB
7Elfogadva6ms444 KiB
8Elfogadva8ms464 KiB
9Elfogadva14ms508 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva1ms316 KiB
subtask318/18
13Elfogadva134ms2028 KiB
14Elfogadva86ms2284 KiB
15Elfogadva82ms3044 KiB
16Elfogadva86ms4072 KiB
17Elfogadva93ms9952 KiB
18Elfogadva97ms11460 KiB
19Elfogadva96ms11572 KiB
20Elfogadva101ms11452 KiB
21Elfogadva108ms23724 KiB
22Elfogadva104ms28332 KiB
subtask40/42
23Elfogadva1ms316 KiB
24Elfogadva2ms412 KiB
25Elfogadva2ms316 KiB
26Elfogadva4ms428 KiB
27Elfogadva6ms316 KiB
28Elfogadva4ms408 KiB
29Elfogadva6ms444 KiB
30Elfogadva8ms464 KiB
31Elfogadva14ms508 KiB
32Elfogadva2ms316 KiB
33Elfogadva2ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva134ms2028 KiB
36Elfogadva86ms2284 KiB
37Elfogadva82ms3044 KiB
38Elfogadva86ms4072 KiB
39Elfogadva93ms9952 KiB
40Elfogadva97ms11460 KiB
41Elfogadva96ms11572 KiB
42Elfogadva101ms11452 KiB
43Elfogadva108ms23724 KiB
44Elfogadva104ms28332 KiB
45Időlimit túllépés575ms2160 KiB
46Időlimit túllépés575ms2020 KiB
47Időlimit túllépés577ms2276 KiB
48Időlimit túllépés600ms2784 KiB
49Időlimit túllépés582ms4072 KiB
50Időlimit túllépés582ms6024 KiB
51Időlimit túllépés582ms6032 KiB
52Időlimit túllépés600ms6020 KiB
53Időlimit túllépés584ms8492 KiB
54Időlimit túllépés584ms11340 KiB