Submission #1013788

#TimeUsernameProblemLanguageResultExecution timeMemory
1013788vjudge1새로운 문제 (POI13_luk)C++17
0 / 100
78 ms19680 KiB
//B - Triumphal arch


#include <bits/stdc++.h>
#define endl '\n'
#define mod 1000000007

using namespace std;
vector<vector<int>> v(300003);
int depth[300003], n;
bool vis[300003];
void dfs(int x, int dep=0)
{
    depth[dep]++;
    vis[x]=1;
    for(int i=0; i<v[x].size(); i++)
    {
        int y=v[x][i];
        if(!vis[y])
            dfs(y, dep+1);
    }
}

int check(int x)
{
    int y=0;
    for(int i=1; i<=n; i++)
    {
        y+=x;
        y-=depth[i];
        if(y<0)
        {
            y*=-1;
            x+=y;
            y=0;
        }
    }
    return x;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    int ans=0, num=0, nu=0;
    cin>>n;
    for(int i=1; i<n; i++)
    {
        int a,b;
        cin>>a>>b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    
    dfs(1);
    vector<int> deps;
    for(int i=1; i<=n; i++)
    {
        deps.push_back(depth[i]);
        num+=depth[i];
        if(depth[i]>0)
            nu++;
    }
    sort(deps.begin(), deps.end());
    reverse(deps.begin(), deps.end());
    ans=check(num/nu);
    cout<<ans<<endl;
    return 0;
}

Compilation message (stderr)

luk.cpp: In function 'void dfs(int, int)':
luk.cpp:16:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=0; i<v[x].size(); i++)
      |                  ~^~~~~~~~~~~~
#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...