Submission #1143255

#TimeUsernameProblemLanguageResultExecution timeMemory
1143255serifuTriumphal arch (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...