제출 #1364953

#제출 시각아이디문제언어결과실행 시간메모리
1364953julia_08Petrol stations (CEOI24_stations)C++20
18 / 100
3593 ms10264 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const int MAXN = 7e4 + 10;

int ans[MAXN], sub[MAXN];

vector<pair<int, int>> adj[MAXN];

int k;

void dfs(int v, int p, ll d){

  sub[v] = 1;

  for(auto [u, w] : adj[v]){
    if(u != p){

      ll nd = d;

      if(nd + w > k) nd = 0;

      dfs(u, v, nd + w);

      sub[v] += sub[u];
      if(d + w > k) ans[v] += sub[u];

    }
  }

}

int main(){
  cin.tie(0)->sync_with_stdio(0);

  int n; cin >> n >> k;

  for(int i=1; i<n; i++){

    int a, b, l; cin >> a >> b >> l;

    a ++; b ++;

    adj[a].push_back({b, l});
    adj[b].push_back({a, l});

  }

  for(int i=1; i<=n; i++) dfs(i, 0, 0);

  for(int i=1; i<=n; i++) cout << ans[i] << "\n";

  return 0;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…