200332025-12-31 10:25:54PappMatyasHírlánccpp17Elfogadva 80/8098ms10500 KiB
#include <iostream>
#include <vector>

using namespace std;

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

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 (posStamp[k] == globalStamp)
    {
        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;
    posStamp[k] = globalStamp;
    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);
        posStamp.push_back(-1);
    }
    for (int i = 0; i < n; i++)
    {
        globalStamp = 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
2Elfogadva2ms316 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva2ms316 KiB
6Elfogadva2ms316 KiB
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva2ms316 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask318/18
13Elfogadva89ms3480 KiB
14Elfogadva90ms3632 KiB
15Elfogadva87ms3716 KiB
16Elfogadva90ms4168 KiB
17Elfogadva93ms6048 KiB
18Elfogadva98ms6268 KiB
19Elfogadva92ms6280 KiB
20Elfogadva96ms6312 KiB
21Elfogadva94ms9220 KiB
22Elfogadva94ms10500 KiB
subtask442/42
23Elfogadva1ms512 KiB
24Elfogadva2ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva2ms316 KiB
28Elfogadva2ms316 KiB
29Elfogadva1ms316 KiB
30Elfogadva1ms316 KiB
31Elfogadva2ms316 KiB
32Elfogadva2ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva89ms3480 KiB
36Elfogadva90ms3632 KiB
37Elfogadva87ms3716 KiB
38Elfogadva90ms4168 KiB
39Elfogadva93ms6048 KiB
40Elfogadva98ms6268 KiB
41Elfogadva92ms6280 KiB
42Elfogadva96ms6312 KiB
43Elfogadva94ms9220 KiB
44Elfogadva94ms10500 KiB
45Elfogadva87ms3456 KiB
46Elfogadva85ms3476 KiB
47Elfogadva85ms3692 KiB
48Elfogadva87ms3820 KiB
49Elfogadva89ms3880 KiB
50Elfogadva89ms4456 KiB
51Elfogadva89ms4492 KiB
52Elfogadva90ms4508 KiB
53Elfogadva86ms5260 KiB
54Elfogadva89ms6544 KiB