Submission #1140594

#TimeUsernameProblemLanguageResultExecution timeMemory
1140594Jawad_Akbar_JJPetrol stations (CEOI24_stations)C++20
0 / 100
3592 ms10952 KiB
#include <iostream> #include <vector> using namespace std; const int N = 1e5 + 10; vector<pair<int,int>> nei[N]; int Sum[N], ch[N], n, k; void dfs1(int u, int p){ ch[u] = 1; for (auto [i, w] : nei[u]) if (i != p) dfs1(i, u), ch[u] += ch[i]; } void dfs2(int u, int p, int cap){ for (auto [i, w] : nei[u]){ if (i == p) continue; if (w > cap) Sum[u] += ch[i], cap = k; dfs2(i, u, cap - w); } } int main(){ cin>>n>>k; for (int i=1;i<n;i++){ int a, b, c; cin>>a>>b>>c; nei[a].push_back({b, c}); nei[b].push_back({a, c}); } for (int i=0;i<n;i++) dfs1(i, i), dfs2(i, i, k); for (int i=1;i<=n;i++) cout<<Sum[i - 1]<<'\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...