#include <bits/stdc++.h>
using namespace std;
#define append push_back
#define int long long
const int N=3e6+10,LG=21;
int mod=1e9+7;
vector<int>g[N];
int h[N],cnt[N],s=0;
void dfs(int node,int par=-1){
cnt[h[node]]++;
for(auto i:g[node]){
if(i==par) continue;
h[i]=h[node]+1;
dfs(i,node);
}
}
void solve(int tst){
int n;
cin>>n;
for(int i=1;i<n;i++){
int a,b;
cin>>a>>b;
g[a].append(b);
g[b].append(a);
}
dfs(1);
cnt[0]=0;
int ans=0;
for(int i=1;i<=n;i++){
s+=cnt[i];
ans=max(ans,(s+i-1)/i);
}
cout<<ans<<endl;
}
signed main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t = 1;
// cin >> t;
for(int i=1;i<=t;i++){
solve(i);
// if(i!=t) cout<<endl;
}
}
# | 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... |