#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 3e5;
vector<int>G[NMAX+5];
int viz[NMAX+5],vkids[NMAX+5];
int nivel[NMAX+5];
void DFS(int nod,int niv){
viz[nod]=1;int kids=0;nivel[nod]=niv;
for(int i=0;i<G[nod].size();i++){
if(viz[G[nod][i]]==0){
DFS(G[nod][i],niv+1);kids++;
}
}
vkids[nod]=kids;
}
int main()
{
int n,a,b;cin>>n;
for(int i=1;i<n;i++){
cin>>a>>b;
G[a].push_back(b);G[b].push_back(a);
}
if(n==1){cout<<"0"<<'\n';return 0;}
DFS(1,1);int rez=0;
for(int i=1;i<=n;i++){
if(vkids[i]>0){
int aici=1+(vkids[i]-1)/nivel[i];
if((vkids[i]-1)%nivel[i]!=0){aici++;}
rez=max(rez,aici);
}
}
cout<<rez<<'\n';
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... |