8864 2024. 02. 02 16:33:14 zeytonx Legtávolabbi leszármazott cpp17 Elfogadva 50/50 48ms 42412 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define endl "\n"
#define pll pair<ll,ll>
#define vll vector<ll>
#define mll map<ll,ll>
#define fs first
#define sc second

const ll MOD = 1e9+7;

void dfs(ll p, vector<vector<ll>>& g, vector<bool>& used, ll& ans, ll& ans_v, ll k)
{
	used[p] = true;
	if(k > ans)
	{
		ans_v = p+1;
		ans = k;
	}
	k++;
	for(ll i : g[p])
		if(!used[i]) dfs(i, g, used, ans, ans_v, k);
	k--;
}

void solve()
{
	ll n;
	cin >> n;
	vector<vector<ll>> g(n);
	vector<ll> top(n);
	for(ll i = 0; i < n-1; i++)
	{
		ll a, b;
		cin >> a >> b;
		a--; b--;
		g[a].push_back(b);
		top[b] = 1;
	}
	ll p = 0;
	for(ll i = 0; i < n; i++)
	{
		if(top[i] == 0)
		{
			p = i;
			break;
		}
	}
	vector<bool> used(n, false);
	ll ans = 0;
	ll ans_v = 0;
	ll k = 0;
	dfs(p, g, used, ans, ans_v, k);
	cout << ans_v << endl;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
        solve();
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 37ms 12164 KiB
3 Elfogadva 1/1 3ms 3300 KiB
4 Elfogadva 3/3 3ms 3480 KiB
5 Elfogadva 3/3 3ms 3696 KiB
6 Elfogadva 1/1 3ms 3916 KiB
7 Elfogadva 1/1 3ms 4136 KiB
8 Elfogadva 1/1 3ms 4280 KiB
9 Elfogadva 2/2 43ms 15304 KiB
10 Elfogadva 3/3 41ms 16636 KiB
11 Elfogadva 3/3 3ms 6932 KiB
12 Elfogadva 4/4 48ms 26036 KiB
13 Elfogadva 4/4 46ms 27180 KiB
14 Elfogadva 3/3 6ms 10208 KiB
15 Elfogadva 3/3 46ms 27832 KiB
16 Elfogadva 3/3 43ms 30768 KiB
17 Elfogadva 3/3 43ms 30604 KiB
18 Elfogadva 4/4 32ms 25920 KiB
19 Elfogadva 4/4 39ms 31864 KiB
20 Elfogadva 4/4 48ms 42412 KiB