Submission #264868

#TimeUsernameProblemLanguageResultExecution timeMemory
264868NONAMETransport (COCI19_transport)C++14
26 / 130
1093 ms15608 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int N = 1e5 + 500; int n; ll a[N]; vector <pair <int, ll> > g[N]; ll dfs(int v, int pr, ll d) { if (d < 0) return 0; ll res = (pr != -1); for (auto to : g[v]) { if (to.first == pr) continue; res += dfs(to.first, v, d + a[v] - to.second); } return res; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(); cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; for (int i = 0; i < n - 1; ++i) { int x, y, z; cin >> x >> y >> z; --x, --y; g[x].push_back(make_pair(y, z)); g[y].push_back(make_pair(x, z)); } ll ans = 0; for (int i = 0; i < n; ++i) ans += dfs(i, -1, 0); cout << ans << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...