제출 #1168329

#제출 시각아이디문제언어결과실행 시간메모리
1168329MuhammadSaram새로운 문제 (POI13_luk)C++20
20 / 100
164 ms24000 KiB
#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],cnt[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; cnt[dep[i]]++; 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,ans1=0; for (int i=1;i<=n;i++) ans=max(ans,(dp[i]+dep[i]-1)/dep[i]); int su=0; for (int i=2;i<=n;i++) su+=cnt[i],ans1=max(ans1,(su+i-2)/(i-1)); if (ans1>ans*2) ans++; cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...