#include <bits/stdc++.h>
using namespace std;
#define int long long
const int M = 3e5 + 1;
vector<int> nei[M];
int dp[M],dep[M];
void dfs(int u,int p=0)
{
dp[u]=dp[p]+nei[u].size()-1;
for (int i:nei[u])
if (i!=p)
{
dep[i]=dep[u]+1;
dfs(i,u);
}
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(NULL), cout.tie(NULL);
int n;
cin>>n;
for (int i=1;i<n;i++)
{
int u,v;
cin>>u>>v;
nei[u].push_back(v);
nei[v].push_back(u);
}
dp[0]=dep[1]=1;
dfs(1);
int ans=0;
for (int i=1;i<=n;i++)
ans=max(ans,(dp[i]+dep[i]-1)/dep[i]);
cout<<ans<<endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |