Untitled
unknown
c_cpp
5 months ago
744 B
0
Indexable
Never
#include <bits/stdc++.h> using namespace std; constexpr int maxN = 1e6; struct edge { int b, cost; }; vector<edge> graph[maxN]; int answ = 1; void dfs(int u, int x, int p, int curdepth) { answ = max(answ, curdepth); for (edge &e : graph[u]) { if (e.b != p && e.cost <= x) { dfs(e.b, x - e.cost, u, curdepth + 1); } } } int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, x; cin >> n >> x; for (int i = 0; i < n - 1; i++) { int u, v, w; cin >> u >> v >> w; u--; v--; graph[u].emplace_back(v, w); graph[v].emplace_back(u, w); } dfs(0, x, -1, 1); cout << answ; return 0; }