제출 #1143255

#제출 시각아이디문제언어결과실행 시간메모리
1143255serifu새로운 문제 (POI13_luk)C++20
0 / 100
213 ms81996 KiB
#include <bits/stdc++.h> using namespace std; const int maxN=3000007; int dist[maxN]; vector <vector <int>> adj(maxN); int n; int cate[maxN]; void dfs(int node, int prev) { for (auto aux:adj[node]) { if (aux==prev) continue; dist[aux]=dist[node]+1; dfs(aux, node); } } signed main() { cin>>n; for (int i=1; i<n; i++) { int a, b; cin>>a>>b; adj[a].push_back(b); adj[b].push_back(a); } dfs(1, -1); int ans=0, maxx=0; for (int i=1; i<=n; i++) { cate[dist[i]]++; maxx=max(maxx, dist[i]); } for (int i=0; i<=n; i++) ans=max(ans, cate[i]); cout<<min(ans, (int)ceil((n-1)/maxx)); 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...