200322025-12-31 10:22:16PappMatyasHírlánccpp17Időlimit túllépés 38/80600ms9748 KiB
#include <iostream>
#include <vector>

using namespace std;

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

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;
    }
    if (pos[k] != -1)
    {
        int i = pos[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;
    }
    pos[k] = e;
    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);
        pos.push_back(-1);
    }
    for (int i = 0; i < n; i++)
    {
        if (length[i] == -1)
        {
            fill(pos.begin(), pos.end(), -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
2Elfogadva1ms316 KiB
3Elfogadva2ms508 KiB
4Elfogadva2ms332 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva2ms508 KiB
8Elfogadva2ms384 KiB
9Elfogadva2ms508 KiB
10Elfogadva2ms316 KiB
11Elfogadva2ms316 KiB
12Elfogadva2ms500 KiB
subtask318/18
13Elfogadva284ms2720 KiB
14Elfogadva101ms2732 KiB
15Elfogadva86ms2992 KiB
16Elfogadva82ms3140 KiB
17Elfogadva83ms5024 KiB
18Elfogadva86ms5508 KiB
19Elfogadva86ms5520 KiB
20Elfogadva86ms5528 KiB
21Elfogadva90ms8468 KiB
22Elfogadva87ms9748 KiB
subtask40/42
23Elfogadva2ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva2ms508 KiB
26Elfogadva2ms332 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva2ms508 KiB
30Elfogadva2ms384 KiB
31Elfogadva2ms508 KiB
32Elfogadva2ms316 KiB
33Elfogadva2ms316 KiB
34Elfogadva2ms500 KiB
35Elfogadva284ms2720 KiB
36Elfogadva101ms2732 KiB
37Elfogadva86ms2992 KiB
38Elfogadva82ms3140 KiB
39Elfogadva83ms5024 KiB
40Elfogadva86ms5508 KiB
41Elfogadva86ms5520 KiB
42Elfogadva86ms5528 KiB
43Elfogadva90ms8468 KiB
44Elfogadva87ms9748 KiB
45Időlimit túllépés582ms2700 KiB
46Időlimit túllépés583ms2812 KiB
47Időlimit túllépés583ms2964 KiB
48Időlimit túllépés600ms2836 KiB
49Időlimit túllépés584ms3220 KiB
50Időlimit túllépés584ms3740 KiB
51Időlimit túllépés584ms3652 KiB
52Időlimit túllépés600ms3784 KiB
53Időlimit túllépés579ms4504 KiB
54Időlimit túllépés580ms5532 KiB