197752025-12-22 14:49:59szabel26Hírlánccpp17Hibás válasz 0/80600ms4016 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;
}

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

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)
        {
            if (x[i].lat == false)
            {
                kor(i, i);
                if (hossz > sol.second)
                {
                    sol.first = i;
                    sol.second = hossz;
                }
            }
        }
    }
    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
subtask20/20
2Elfogadva1ms508 KiB
3Elfogadva2ms548 KiB
4Elfogadva2ms316 KiB
5Elfogadva3ms316 KiB
6Elfogadva3ms316 KiB
7Elfogadva3ms316 KiB
8Elfogadva4ms316 KiB
9Elfogadva7ms316 KiB
10Hibás válasz1ms316 KiB
11Hibás válasz1ms316 KiB
12Hibás válasz1ms316 KiB
subtask30/18
13Hibás válasz81ms2752 KiB
14Hibás válasz79ms2580 KiB
15Hibás válasz78ms2760 KiB
16Hibás válasz79ms2756 KiB
17Hibás válasz79ms2612 KiB
18Hibás válasz78ms2612 KiB
19Hibás válasz78ms2612 KiB
20Hibás válasz79ms2796 KiB
21Hibás válasz78ms2864 KiB
22Elfogadva78ms2804 KiB
subtask40/42
23Elfogadva1ms508 KiB
24Elfogadva1ms508 KiB
25Elfogadva2ms548 KiB
26Elfogadva2ms316 KiB
27Elfogadva3ms316 KiB
28Elfogadva3ms316 KiB
29Elfogadva3ms316 KiB
30Elfogadva4ms316 KiB
31Elfogadva7ms316 KiB
32Hibás válasz1ms316 KiB
33Hibás válasz1ms316 KiB
34Hibás válasz1ms316 KiB
35Hibás válasz81ms2752 KiB
36Hibás válasz79ms2580 KiB
37Hibás válasz78ms2760 KiB
38Hibás válasz79ms2756 KiB
39Hibás válasz79ms2612 KiB
40Hibás válasz78ms2612 KiB
41Hibás válasz78ms2612 KiB
42Hibás válasz79ms2796 KiB
43Hibás válasz78ms2864 KiB
44Elfogadva78ms2804 KiB
45Elfogadva103ms3244 KiB
46Elfogadva381ms3396 KiB
47Időlimit túllépés584ms3392 KiB
48Időlimit túllépés600ms3404 KiB
49Időlimit túllépés582ms3248 KiB
50Időlimit túllépés583ms3512 KiB
51Időlimit túllépés579ms3504 KiB
52Időlimit túllépés600ms3504 KiB
53Időlimit túllépés586ms3908 KiB
54Időlimit túllépés577ms4016 KiB