Submission #1212431

#TimeUsernameProblemLanguageResultExecution timeMemory
1212431yanbPetrol stations (CEOI24_stations)C++20
18 / 100
3594 ms11744 KiB
#include <bits/stdc++.h>
 
#define int long long
 
using namespace std;

using pii = pair<int, int>;

int n, k;
vector<vector<pii>> g;
vector<int> ans;

int dfs(int v, int p, int f) {
    int sz = 1;
    for (auto [u, vu] : g[v]) {
        if (u != p) {
            int csz;
            if (f >= vu) {
                csz = dfs(u, v, f - vu);
            } else {
                csz = dfs(u, v, k - vu);
                ans[v] += csz;
            }
            sz += csz;
        }
    }
    return sz;
}

signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    
    cin >> n >> k;
    g.resize(n);
    ans.resize(n);
    for (int i = 0; i < n - 1; i++) {
        int x, y, w;
        cin >> x >> y >> w;
        g[x].emplace_back(y, w);
        g[y].emplace_back(x, w);
    }

    for (int i = 0; i < n; i++) {
        dfs(i, i, k);
    }

    for (int i = 0; i < n; i++) {
        cout << ans[i] << "\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...