213082026-01-12 18:16:49horvayzsomborHírlánccpp17Hibás válasz 18/80591ms28332 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;
    }

    if(ans[x] != 0) return;
    if(ans[t[x]] != 0) ans[x] = ans[t[x]] + 1;
    
    vis[x] = 1;
    visit(t[x], vis, t, ans);
}

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
subtask20/20
2Hibás válasz2ms316 KiB
3Hibás válasz2ms316 KiB
4Hibás válasz2ms508 KiB
5Hibás válasz2ms316 KiB
6Hibás válasz2ms508 KiB
7Hibás válasz2ms316 KiB
8Hibás válasz2ms508 KiB
9Hibás válasz2ms316 KiB
10Elfogadva1ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva1ms316 KiB
subtask318/18
13Elfogadva130ms2160 KiB
14Elfogadva86ms2276 KiB
15Elfogadva82ms3044 KiB
16Elfogadva86ms4068 KiB
17Elfogadva92ms10072 KiB
18Elfogadva94ms11656 KiB
19Elfogadva93ms11460 KiB
20Elfogadva94ms11464 KiB
21Elfogadva101ms23724 KiB
22Elfogadva104ms28332 KiB
subtask40/42
23Elfogadva1ms508 KiB
24Hibás válasz2ms316 KiB
25Hibás válasz2ms316 KiB
26Hibás válasz2ms508 KiB
27Hibás válasz2ms316 KiB
28Hibás válasz2ms508 KiB
29Hibás válasz2ms316 KiB
30Hibás válasz2ms508 KiB
31Hibás válasz2ms316 KiB
32Elfogadva1ms316 KiB
33Elfogadva2ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva130ms2160 KiB
36Elfogadva86ms2276 KiB
37Elfogadva82ms3044 KiB
38Elfogadva86ms4068 KiB
39Elfogadva92ms10072 KiB
40Elfogadva94ms11656 KiB
41Elfogadva93ms11460 KiB
42Elfogadva94ms11464 KiB
43Elfogadva101ms23724 KiB
44Elfogadva104ms28332 KiB
45Időlimit túllépés578ms2160 KiB
46Időlimit túllépés578ms2160 KiB
47Időlimit túllépés578ms2272 KiB
48Időlimit túllépés591ms2672 KiB
49Időlimit túllépés577ms4064 KiB
50Időlimit túllépés578ms6000 KiB
51Időlimit túllépés578ms5940 KiB
52Időlimit túllépés582ms5860 KiB
53Időlimit túllépés582ms8480 KiB
54Időlimit túllépés582ms11184 KiB