Submission #1310120

#TimeUsernameProblemLanguageResultExecution timeMemory
1310120comet0Jobs (BOI24_jobs)C++20
11 / 100
87 ms23624 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; vector<vector<ll>> adj; vector<ll> a; ll dfs(ll x, ll s) { ll ans = a[x]; for (auto& y : adj[x]) { ll e = dfs(y, s + a[y]); if (e <= 0) continue; ans += e; } return ans; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); ll n, s; cin >> n >> s; adj.resize(n); a.resize(n); vector<ll> st; for (ll i = 0; i < n; i++) { ll p; cin >> a[i] >> p; p--; if (p == -1) st.push_back(i); else adj[p].push_back(i); } ll ans = 0; for (auto& x : st) { ll e = dfs(x, s + a[x]); ans += max(e, 0LL); } cout << ans; }
#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...