197762025-12-22 14:59:59szabel26Hírlánccpp17Időlimit túllépés 38/80600ms6316 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, y;
vector<int>csp;

pair<int, int>sol;

int n, hossz;

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

void kor(int akt, int kezd)
{
    y[akt].lat = true;
    ++hossz;
    if (y[y[akt].sz].lat == false)
    {
        kor(y[akt].sz, kezd);
    }
}

int main()
{
    cin >> n;

    x.resize(n + 1, { 0,0,0 });
    y.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;
    }

    y = x;

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

    sol.first = 0;
    sol.second = 0;
    for (auto& e : csp)
    {
        bejar(e);
        if (hossz > sol.second)
        {
            sol.first = e;
            sol.second = hossz;
        }
        hossz = 0;
    }
    for (int i = 1; i <= n; ++i)
    {
        if (y[i].lat == false)
        {
            kor(i, 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
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
subtask220/20
2Elfogadva2ms508 KiB
3Elfogadva2ms316 KiB
4Elfogadva2ms316 KiB
5Elfogadva3ms512 KiB
6Elfogadva3ms316 KiB
7Elfogadva4ms316 KiB
8Elfogadva4ms500 KiB
9Elfogadva8ms508 KiB
10Elfogadva2ms316 KiB
11Elfogadva1ms316 KiB
12Elfogadva1ms316 KiB
subtask318/18
13Elfogadva86ms4916 KiB
14Elfogadva82ms5104 KiB
15Elfogadva82ms5108 KiB
16Elfogadva86ms5104 KiB
17Elfogadva82ms4916 KiB
18Elfogadva92ms5096 KiB
19Elfogadva82ms4920 KiB
20Elfogadva83ms4916 KiB
21Elfogadva82ms4916 KiB
22Elfogadva79ms5132 KiB
subtask40/42
23Elfogadva1ms512 KiB
24Elfogadva2ms508 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms316 KiB
27Elfogadva3ms512 KiB
28Elfogadva3ms316 KiB
29Elfogadva4ms316 KiB
30Elfogadva4ms500 KiB
31Elfogadva8ms508 KiB
32Elfogadva2ms316 KiB
33Elfogadva1ms316 KiB
34Elfogadva1ms316 KiB
35Elfogadva86ms4916 KiB
36Elfogadva82ms5104 KiB
37Elfogadva82ms5108 KiB
38Elfogadva86ms5104 KiB
39Elfogadva82ms4916 KiB
40Elfogadva92ms5096 KiB
41Elfogadva82ms4920 KiB
42Elfogadva83ms4916 KiB
43Elfogadva82ms4916 KiB
44Elfogadva79ms5132 KiB
45Elfogadva114ms5552 KiB
46Elfogadva441ms5548 KiB
47Időlimit túllépés583ms5740 KiB
48Időlimit túllépés600ms5552 KiB
49Időlimit túllépés583ms5552 KiB
50Időlimit túllépés586ms5804 KiB
51Időlimit túllépés577ms5808 KiB
52Időlimit túllépés600ms5808 KiB
53Időlimit túllépés580ms6060 KiB
54Időlimit túllépés580ms6316 KiB