Pagini recente » Cod sursa (job #3228827) | Cod sursa (job #3276732) | Cod sursa (job #2898008) | Cod sursa (job #2122266) | Cod sursa (job #2101225)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("darb.in");
ofstream cout("darb.out");
const int nmax=100000;
int n,l[nmax+5];
vector<int>copil[nmax+5];
int cost[nmax+5],sol[nmax+5];
void dfs(int nod,int nr)
{
for(int i=0;i<l[nod];i++)
{
int nou=copil[nod][i];
cost[nou]=nr+1;
dfs(nou,nr+1);
}
}
int main()
{
cin>>n;
for(int i=1;i<n;i++)
{
int a,b;
cin>>a>>b;
l[a]++;
copil[a].push_back(b);
}
dfs(1,0);
for(int i=1;i<=n;i++)
if(l[i]==0)
sol[cost[i]]++;
int ans=0,fol=0;
for(int i=n;i>=1;i--)
{
for(int j=1;j<=sol[i];j++)
{
ans+=i;
fol++;
if(fol==2)
{
cout<<ans+1;
return 0;
}
}
}
return 0;
}
/**
**/