197612025-12-22 09:35:17szabel26Hírlánccpp17Time limit exceeded 20/80600ms5684 KiB
// hirlanc.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>
using namespace std;

struct adat {
    int be, sz;
    bool lat;
};

vector<adat>x;
vector<int>csp;

pair<int, int>sol;

int n, hossz;

void bejar(int akt)
{
    x[akt].lat = true;
    ++hossz;
    if (x[x[akt].sz].lat == false)
    {
        bejar(x[akt].sz);
    }
    x[akt].lat = false;
    return;
}

int main()
{
    cin >> n;

    x.resize(n + 1, { 0,0,0 });
    int a = 0;
    for (int i = 1; i <= n; ++i)
    {
        cin >> a;
        x[i].sz = a;
        x[a].be = i;
    }

    for (int i = 1; i <= n; ++i)
    {
        if (x[i].be == 0)
        {
            csp.push_back(i);
        }
    }

    sol.first = 0;
    sol.second = 0;
    if (!csp.empty())
    {
        for (auto& e : csp)
        {
            bejar(e);
            if (hossz > sol.second)
            {
                sol.first = e;
                sol.second = hossz;
            }
            hossz = 0;
        }
    }
    else
    {
        for (int i = 1; i <= n; ++i)
        {
            bejar(i);
            if (hossz > sol.second)
            {
                sol.first = i;
                sol.second = hossz;
            }
            hossz = 0;
        }
    }
    cout << sol.first << " " << sol.second;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
subtask220/20
2Accepted2ms512 KiB
3Accepted2ms316 KiB
4Accepted2ms508 KiB
5Accepted3ms316 KiB
6Accepted3ms368 KiB
7Accepted3ms508 KiB
8Accepted4ms316 KiB
9Accepted7ms316 KiB
10Accepted3ms340 KiB
11Accepted9ms316 KiB
12Accepted12ms316 KiB
subtask30/18
13Accepted287ms2756 KiB
14Time limit exceeded586ms2612 KiB
15Time limit exceeded586ms2760 KiB
16Time limit exceeded586ms2752 KiB
17Time limit exceeded574ms3524 KiB
18Time limit exceeded588ms3788 KiB
19Time limit exceeded588ms3640 KiB
20Time limit exceeded587ms3636 KiB
21Time limit exceeded583ms5176 KiB
22Time limit exceeded578ms5684 KiB
subtask40/42
23Accepted1ms316 KiB
24Accepted2ms512 KiB
25Accepted2ms316 KiB
26Accepted2ms508 KiB
27Accepted3ms316 KiB
28Accepted3ms368 KiB
29Accepted3ms508 KiB
30Accepted4ms316 KiB
31Accepted7ms316 KiB
32Accepted3ms340 KiB
33Accepted9ms316 KiB
34Accepted12ms316 KiB
35Accepted287ms2756 KiB
36Time limit exceeded586ms2612 KiB
37Time limit exceeded586ms2760 KiB
38Time limit exceeded586ms2752 KiB
39Time limit exceeded574ms3524 KiB
40Time limit exceeded588ms3788 KiB
41Time limit exceeded588ms3640 KiB
42Time limit exceeded587ms3636 KiB
43Time limit exceeded583ms5176 KiB
44Time limit exceeded578ms5684 KiB
45Accepted105ms3396 KiB
46Accepted361ms3248 KiB
47Time limit exceeded589ms3244 KiB
48Time limit exceeded600ms3248 KiB
49Time limit exceeded580ms3248 KiB
50Time limit exceeded580ms3500 KiB
51Time limit exceeded586ms3504 KiB
52Time limit exceeded600ms3512 KiB
53Time limit exceeded591ms3756 KiB
54Time limit exceeded584ms4012 KiB