213182026-01-12 18:25:49algoproLegtávolabbi leszármazottcpp17Elfogadva 50/5097ms9036 KiB
// UUID: 807e72d0-2f3b-41d3-8e57-38d03c9f4388
//AB
//Feladat linkje: 
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

vector<bool> ose;
vector<vector<int>> gyerekek;
vector<int> szulo;
vector<int> melyseg;
int os;

void bejar(int i) {
    /*if (gyerekek[i].size() == 0) {
        return;
    }*/
    if (i != os) melyseg[i] = melyseg[szulo[i]]+1;
    for (int a : gyerekek[i]) {
        bejar(a);
    }
}


int main() {
    int n;
    cin >> n;
    ose.resize(n+1, true);
    gyerekek.resize(n+1);
    melyseg.resize(n+1, 0);
    szulo.resize(n+1);
    for (int i = 0; i < n-1; i++) {
        int apa, fia;
        cin >> apa >> fia;
        gyerekek[apa].push_back(fia);
        szulo[fia] = apa;
        ose[fia] = false;
    }
    for (int i = 1; i <= n; i++) {
        if(ose[i]) {
            os = i;
            bejar(i);
            break;
        }
    }
    int maxi = 0;
    int maxind = 0;
    for (int i = 1; i <= n; i++) {
        if (melyseg[i] > maxi) {
            maxi = melyseg[i];
            maxind = i;
        }
    }
	cout << maxind <<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/076ms4656 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/12ms316 KiB
9Elfogadva2/283ms5072 KiB
10Elfogadva3/382ms5116 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva4/485ms6964 KiB
13Elfogadva4/490ms6964 KiB
14Elfogadva3/38ms820 KiB
15Elfogadva3/387ms6988 KiB
16Elfogadva3/382ms6964 KiB
17Elfogadva3/390ms6600 KiB
18Elfogadva4/463ms4916 KiB
19Elfogadva4/475ms6200 KiB
20Elfogadva4/497ms9036 KiB