213082026-01-12 18:16:49horvayzsomborHírlánccpp17Wrong answer 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;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask20/20
2Wrong answer2ms316 KiB
3Wrong answer2ms316 KiB
4Wrong answer2ms508 KiB
5Wrong answer2ms316 KiB
6Wrong answer2ms508 KiB
7Wrong answer2ms316 KiB
8Wrong answer2ms508 KiB
9Wrong answer2ms316 KiB
10Accepted1ms316 KiB
11Accepted2ms316 KiB
12Accepted1ms316 KiB
subtask318/18
13Accepted130ms2160 KiB
14Accepted86ms2276 KiB
15Accepted82ms3044 KiB
16Accepted86ms4068 KiB
17Accepted92ms10072 KiB
18Accepted94ms11656 KiB
19Accepted93ms11460 KiB
20Accepted94ms11464 KiB
21Accepted101ms23724 KiB
22Accepted104ms28332 KiB
subtask40/42
23Accepted1ms508 KiB
24Wrong answer2ms316 KiB
25Wrong answer2ms316 KiB
26Wrong answer2ms508 KiB
27Wrong answer2ms316 KiB
28Wrong answer2ms508 KiB
29Wrong answer2ms316 KiB
30Wrong answer2ms508 KiB
31Wrong answer2ms316 KiB
32Accepted1ms316 KiB
33Accepted2ms316 KiB
34Accepted1ms316 KiB
35Accepted130ms2160 KiB
36Accepted86ms2276 KiB
37Accepted82ms3044 KiB
38Accepted86ms4068 KiB
39Accepted92ms10072 KiB
40Accepted94ms11656 KiB
41Accepted93ms11460 KiB
42Accepted94ms11464 KiB
43Accepted101ms23724 KiB
44Accepted104ms28332 KiB
45Time limit exceeded578ms2160 KiB
46Time limit exceeded578ms2160 KiB
47Time limit exceeded578ms2272 KiB
48Time limit exceeded591ms2672 KiB
49Time limit exceeded577ms4064 KiB
50Time limit exceeded578ms6000 KiB
51Time limit exceeded578ms5940 KiB
52Time limit exceeded582ms5860 KiB
53Time limit exceeded582ms8480 KiB
54Time limit exceeded582ms11184 KiB