198322025-12-25 10:24:30szabel26Hírlánccpp17Wrong answer 18/80203ms17436 KiB
// hirlanc.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

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

struct adat {
    vector<int>be;
    int sz = 0, tav = 0;
    bool lat = 0, kor = 0;
};

vector<adat>x;

pair<int, int>sol = { 0,0 };

int n, hossz, db, tav;

bool kor(int akt, int kezd)
{
    x[akt].lat = true;
    ++tav;
    if (x[x[akt].sz].kor)
    {
        x[akt].lat = false;
        x[akt].kor = false;
        return false;
    }
    else
    {
        if (x[akt].sz == kezd)
        {
            x[akt].lat = false;

            x[x[akt].sz].tav = tav + 1;
            x[akt].tav = tav;

            x[x[akt].sz].kor = true;
            x[akt].kor = true;
            return true;
        }
        else if (x[x[akt].sz].lat)
        {
            x[akt].lat = false;
            x[akt].kor = false;
            return false;
        }

        if (kor(x[akt].sz, kezd))
        {
            x[akt].lat = false;
            x[akt].tav = tav;
            x[akt].kor = true;
            return true;
        }
        else
        {
            x[akt].lat = false;
            x[akt].kor = false;
            return false;
        }
    }

}

void bejar(int akt, int tav)
{
    x[akt].lat = 1;
    if (x[akt].tav == 0 || tav > x[akt].tav) x[akt].tav = tav;
    for (auto& e : x[akt].be)
    {
        if (!x[e].lat && !x[e].kor)
        {
            bejar(e, tav + 1);
        }
    }
    x[akt].lat = 0;
}

int main()
{
    cin >> n;

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

    for (int i = 1; i <= n; ++i)
    {
        tav = 0;
        if (!x[i].kor) kor(i, i);
    }

    for (int i = 1; i <= n; ++i)
    {
        if (x[i].kor) bejar(i, x[i].tav);
        if (x[i].tav > sol.second)
        {
            sol.first = i;
            sol.second = x[i].tav;
        }
    }

    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
subtask20/20
2Wrong answer2ms316 KiB
3Accepted2ms316 KiB
4Wrong answer2ms316 KiB
5Accepted2ms508 KiB
6Wrong answer2ms316 KiB
7Accepted2ms316 KiB
8Wrong answer2ms508 KiB
9Wrong answer2ms316 KiB
10Accepted2ms596 KiB
11Accepted3ms316 KiB
12Accepted2ms316 KiB
subtask318/18
13Accepted172ms14264 KiB
14Accepted175ms14332 KiB
15Accepted174ms14444 KiB
16Accepted143ms14668 KiB
17Accepted184ms15412 KiB
18Accepted143ms15424 KiB
19Accepted185ms15496 KiB
20Accepted141ms15468 KiB
21Accepted168ms16948 KiB
22Accepted174ms17436 KiB
subtask40/42
23Accepted1ms500 KiB
24Wrong answer2ms316 KiB
25Accepted2ms316 KiB
26Wrong answer2ms316 KiB
27Accepted2ms508 KiB
28Wrong answer2ms316 KiB
29Accepted2ms316 KiB
30Wrong answer2ms508 KiB
31Wrong answer2ms316 KiB
32Accepted2ms596 KiB
33Accepted3ms316 KiB
34Accepted2ms316 KiB
35Accepted172ms14264 KiB
36Accepted175ms14332 KiB
37Accepted174ms14444 KiB
38Accepted143ms14668 KiB
39Accepted184ms15412 KiB
40Accepted143ms15424 KiB
41Accepted185ms15496 KiB
42Accepted141ms15468 KiB
43Accepted168ms16948 KiB
44Accepted174ms17436 KiB
45Accepted181ms12252 KiB
46Accepted186ms12084 KiB
47Accepted187ms12084 KiB
48Wrong answer150ms12196 KiB
49Accepted188ms12340 KiB
50Wrong answer194ms12652 KiB
51Accepted148ms13048 KiB
52Wrong answer203ms13268 KiB
53Wrong answer148ms12844 KiB
54Wrong answer190ms13112 KiB