200242025-12-31 09:48:45PappMatyasHírlánccpp17Time limit exceeded 20/80600ms3972 KiB
#include <iostream>
#include <vector>

using namespace std;

int n;
vector<int> send;
vector<int> length;
vector<int> current;

static void GetLength(int k)
{
    int e = current.size();
    if (length[k] != -1)
    {
        for (int i = 0; i < e; i++)
        {
            length[current[i]] = length[k] + e - i;
        }
        return;
    }
    for (int i = 0; i < e; i++)
    {
        if (current[i] == k)
        {
            for (int j = i; j < e; j++)
            {
                length[current[j]] = e - i;
            }
            for (int j = 0; j < i; j++)
            {
                length[current[j]] = e - j;
            }
            return;
        }
    }
    current.push_back(k);
    GetLength(send[k] - 1);
}

int main()
{
    
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        int in;
        cin >> in;
        send.push_back(in);
        length.push_back(-1);
    }
    for (int i = 0; i < n; i++)
    {
        if (length[i] == -1)
        {
            current.clear();
            GetLength(i);
        }
    }
    int max = 0, s = -1;
    for (int i = 0; i < n; i++)
    {
        if (length[i] > max)
        {
            max = length[i];
            s = i + 1;
        }
    }
    cout << s << " " << max;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask220/20
2Accepted2ms332 KiB
3Accepted2ms316 KiB
4Accepted2ms316 KiB
5Accepted2ms508 KiB
6Accepted1ms316 KiB
7Accepted2ms316 KiB
8Accepted2ms332 KiB
9Accepted2ms332 KiB
10Accepted2ms424 KiB
11Accepted2ms424 KiB
12Accepted2ms408 KiB
subtask30/18
13Accepted81ms2040 KiB
14Accepted109ms1996 KiB
15Accepted231ms2288 KiB
16Time limit exceeded600ms2700 KiB
17Time limit exceeded586ms3404 KiB
18Time limit exceeded579ms3404 KiB
19Time limit exceeded574ms3424 KiB
20Time limit exceeded592ms3408 KiB
21Time limit exceeded583ms3944 KiB
22Time limit exceeded600ms3920 KiB
subtask40/42
23Accepted1ms316 KiB
24Accepted2ms332 KiB
25Accepted2ms316 KiB
26Accepted2ms316 KiB
27Accepted2ms508 KiB
28Accepted1ms316 KiB
29Accepted2ms316 KiB
30Accepted2ms332 KiB
31Accepted2ms332 KiB
32Accepted2ms424 KiB
33Accepted2ms424 KiB
34Accepted2ms408 KiB
35Accepted81ms2040 KiB
36Accepted109ms1996 KiB
37Accepted231ms2288 KiB
38Time limit exceeded600ms2700 KiB
39Time limit exceeded586ms3404 KiB
40Time limit exceeded579ms3404 KiB
41Time limit exceeded574ms3424 KiB
42Time limit exceeded592ms3408 KiB
43Time limit exceeded583ms3944 KiB
44Time limit exceeded600ms3920 KiB
45Accepted79ms1896 KiB
46Accepted83ms2144 KiB
47Accepted97ms2128 KiB
48Accepted142ms2124 KiB
49Accepted321ms2640 KiB
50Time limit exceeded555ms3568 KiB
51Time limit exceeded552ms3404 KiB
52Time limit exceeded554ms3404 KiB
53Time limit exceeded591ms3656 KiB
54Time limit exceeded577ms3972 KiB