#include<bits/stdc++.h>
#define MAXN 70007
using namespace std;
struct edge{
int to,cost;
};
int n,K,a,b,c;
int ans[MAXN];
vector<edge> v[MAXN];
void dfs(int x,int p,int up,long long d){
if(d<0){
ans[p]++;
d=K-up;
}
for(auto e:v[x]){
if(e.to==p)continue;
dfs(e.to,x,e.cost,d-e.cost);
}
}
int main(){
cin>>n>>K;
for(int i=1;i<=n-1;i++){
cin>>a>>b>>c;
a++; b++;
v[a].push_back({b,c});
v[b].push_back({a,c});
}
for(int i=1;i<=n;i++){
dfs(i,0,0,K);
}
for(int i=1;i<=n;i++){
cout<<ans[i]<<"\n";
}
return 0;
}
# | 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... |