Submission #1140556

#TimeUsernameProblemLanguageResultExecution timeMemory
1140556SyedSohaib_123Petrol stations (CEOI24_stations)C++20
0 / 100
3593 ms18972 KiB
#include <bits/stdc++.h> using namespace std; #define append push_back #define int long long const int N=4e5+10,LG=17; int mod=998244353; vector<pair<int,int>>g[N]; int cnt[N],sz[N]; int n,k; void cl(int node,int par=-1){ sz[node]=1; for(auto [i,j]:g[node]){ if(i==par) continue; cl(i,node); sz[node]+=sz[i]; } } void dfs(int node,int f,int p=-1){ for(auto [i,j]:g[node]){ if(i==p) continue; if(j>f){ cnt[node]+=sz[node]-1; dfs(i,k-j,node); } else{ dfs(i,f-j,node); } } } void solve(int tst){ cin>>n>>k; for(int i=1;i<n;i++){ int a,b,c; cin>>a>>b>>c; a++; b++; g[a].append({b,c}); g[b].append({a,c}); } for(int i=1;i<=n;i++){ cl(i); dfs(i,k); } for(int i=1;i<=n;i++) cout<<cnt[i]<<endl; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; // cin >> t; for (int i = 0; i < t; i++) { solve(i); } }
#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...