#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MOD 1000000007
const ll N = 70005;
vector<pair<ll,ll>> g[N];
ll ans[N], k;
ll dfs(ll u, ll v, ll kk){
ll sub = 1;
for(auto i : g[u]){
if(i.first != v){
ll cur = kk - i.second;
if(cur < 0){
int tmp = dfs(i.first, u, k - i.second);
ans[u] += tmp;
sub += tmp;
}
else{
sub += dfs(i.first, u, cur);
}
}
}
return sub;
}
void solve(){
ll n, u, v, w;
cin >> n >> k;
for(ll i = 0 ;i < n - 1 ; i++){
cin >> u >> v >> w;
g[u].push_back({v, w});
g[v].push_back({u, w});
}
for(ll i = 0; i < n; i ++){
dfs(i, -1, k);
}
for(ll i = 0 ;i < n ;i ++){
cout << ans[i] << '\n';
}
}
int main() {
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
ll tests = 1;
// cin >> tests;
for(ll i = 1; i <= tests; i++){
solve();
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |