제출 #1170834

#제출 시각아이디문제언어결과실행 시간메모리
1170834zyq181Petrol stations (CEOI24_stations)C++20
0 / 100
46 ms8520 KiB
#include <bits/stdc++.h>
using namespace std;

int N, K;
int inp1, inp2, inp3;
vector<int> adjList[70010];
int cnt;
int ans[70010];

void dfs(int x, int p = -1){
    cnt++;
    ans[x] += ((cnt-1) / K) * (N - cnt);
    ans[x] += ((N-cnt) / K) * (cnt - 1);
    for(auto it: adjList[x]){
        if(p == it) continue;
        dfs(it, x);
    }
}

int32_t main(){
    cin >> N >> K;
    for(int a=0; a<N-1; a++){
        cin >> inp1 >> inp2 >> inp3;
        adjList[inp1].push_back(inp2);
        adjList[inp2].push_back(inp1);
    }
    int rt = 0;
    for(int a=0; a<N; a++){
        if((int)adjList[a].size() == 1){
            rt = a;
        }
    }
    dfs(rt);
    for(int a=0; a<N; a++) cout << ans[a] << '\n';
}
#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...