10686 2024. 04. 08 22:28:44 Vargus Legtávolabbi leszármazott cpp17 Elfogadva 50/50 98ms 38096 KiB
#include <iostream>
#include <queue>
#define ll long long

using namespace std;

struct adat
{
    ll ido, ut;
    bool lat = false;
    vector <ll> sz;
};
vector <adat> x;

void melyseg(ll csp)
{
    x[csp].lat = true;
    for (auto& e : x[csp].sz)
    {
        x[e].ido += 1 + x[csp].ido;
        if (!x[e].lat)
        {
            melyseg(e);
        }
    }
}

int main()
{
    ll n;
    cin >> n;
    x.resize(n + 1);
    for (ll i = 1; i <= n-1; ++i)
    {
        ll cs1, cs2;
        cin >> cs1 >> cs2;
        x[cs1].sz.push_back(cs2);
        x[cs2].ut = cs1;
    }
    for (ll i = 1; i <= n; ++i)
    {
        if (!x[i].ut)
        {
            melyseg(i);
            break;
        }
    }
    ll maxpoz = -1, maxi = -9999999;
    for (ll i = 1; i <= n; ++i)
    {
        if (x[i].ido > maxi)
        {
            maxi = x[i].ido;
            maxpoz = i;
        }
    }
    cout << maxpoz;

    return 0;
}
/*
8
1 4
5 7
8 6
8 5
3 1
3 2
3 8
*/
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1876 KiB
2 Elfogadva 0/0 79ms 14432 KiB
3 Elfogadva 1/1 3ms 3032 KiB
4 Elfogadva 3/3 3ms 3044 KiB
5 Elfogadva 3/3 3ms 3276 KiB
6 Elfogadva 1/1 3ms 3388 KiB
7 Elfogadva 1/1 3ms 3636 KiB
8 Elfogadva 1/1 3ms 3756 KiB
9 Elfogadva 2/2 86ms 17764 KiB
10 Elfogadva 3/3 89ms 18888 KiB
11 Elfogadva 3/3 3ms 6100 KiB
12 Elfogadva 4/4 92ms 25420 KiB
13 Elfogadva 4/4 94ms 26696 KiB
14 Elfogadva 3/3 9ms 9864 KiB
15 Elfogadva 3/3 86ms 27096 KiB
16 Elfogadva 3/3 81ms 28660 KiB
17 Elfogadva 3/3 90ms 29116 KiB
18 Elfogadva 4/4 63ms 25028 KiB
19 Elfogadva 4/4 76ms 29732 KiB
20 Elfogadva 4/4 98ms 38096 KiB