Submission #1193532

#TimeUsernameProblemLanguageResultExecution timeMemory
1193532UnforgettableplPetrol stations (CEOI24_stations)C++20
18 / 100
3595 ms17300 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long


int32_t main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int N,K;
    cin >> N >> K;
    vector<vector<pair<int,int>>> adj(N+1);
    for(int i=1;i<N;i++){
        int u,v,c;cin>>u>>v>>c;u++;v++;
        adj[u].emplace_back(v,c);
        adj[v].emplace_back(u,c);
    }
    vector<int> ans(N+1);
    function<int(int,int,int)> dfs = [&](int x,int p,int tot){
        int subsize = 1;
        for(auto&[v,c]:adj[x])if(v!=p){
            if(c>tot){
                int t = dfs(v,x,K-c);
                ans[x]+=t;
                subsize+=t;
            } else subsize+=dfs(v,x,tot-c);
        }
        return subsize;
    };
    for(int i=1;i<=N;i++)dfs(i,-1,K);
    for(int i=1;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...