200242025-12-31 09:48:45PappMatyasHírlánccpp17Időlimit túllépés 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms332 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms508 KiB
6Elfogadva1ms316 KiB
7Elfogadva2ms316 KiB
8Elfogadva2ms332 KiB
9Elfogadva2ms332 KiB
10Elfogadva2ms424 KiB
11Elfogadva2ms424 KiB
12Elfogadva2ms408 KiB
subtask30/18
13Elfogadva81ms2040 KiB
14Elfogadva109ms1996 KiB
15Elfogadva231ms2288 KiB
16Időlimit túllépés600ms2700 KiB
17Időlimit túllépés586ms3404 KiB
18Időlimit túllépés579ms3404 KiB
19Időlimit túllépés574ms3424 KiB
20Időlimit túllépés592ms3408 KiB
21Időlimit túllépés583ms3944 KiB
22Időlimit túllépés600ms3920 KiB
subtask40/42
23Elfogadva1ms316 KiB
24Elfogadva2ms332 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms508 KiB
28Elfogadva1ms316 KiB
29Elfogadva2ms316 KiB
30Elfogadva2ms332 KiB
31Elfogadva2ms332 KiB
32Elfogadva2ms424 KiB
33Elfogadva2ms424 KiB
34Elfogadva2ms408 KiB
35Elfogadva81ms2040 KiB
36Elfogadva109ms1996 KiB
37Elfogadva231ms2288 KiB
38Időlimit túllépés600ms2700 KiB
39Időlimit túllépés586ms3404 KiB
40Időlimit túllépés579ms3404 KiB
41Időlimit túllépés574ms3424 KiB
42Időlimit túllépés592ms3408 KiB
43Időlimit túllépés583ms3944 KiB
44Időlimit túllépés600ms3920 KiB
45Elfogadva79ms1896 KiB
46Elfogadva83ms2144 KiB
47Elfogadva97ms2128 KiB
48Elfogadva142ms2124 KiB
49Elfogadva321ms2640 KiB
50Időlimit túllépés555ms3568 KiB
51Időlimit túllépés552ms3404 KiB
52Időlimit túllépés554ms3404 KiB
53Időlimit túllépés591ms3656 KiB
54Időlimit túllépés577ms3972 KiB