제출 #1013848

#제출 시각아이디문제언어결과실행 시간메모리
1013848vjudge1새로운 문제 (POI13_luk)C++17
0 / 100
211 ms21588 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, nu=0;
bool vis[300003];
void dfs(int x, int dep=0)
{
    nu=max(nu, dep);
    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, yo=0;
    for(int i=1; i<=n; i++)
    {
        yo++;
        y+=x;
        y-=depth[i];
        if(y<0)
        {
            y*=-1;
            if(y%yo==0) x+=y/yo;
            else    x+=(y+yo)/yo;
            y-=yo;
        }
    }
    return x;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    
    cin>>n;
    if(n==1)
        cout<<0<<endl;
    else
    {
        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);
        cout<<check((n-1)/nu)<<endl;
    }
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

luk.cpp: In function 'void dfs(int, int)':
luk.cpp:17:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     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...