Submission #1163772

#TimeUsernameProblemLanguageResultExecution timeMemory
1163772vladiliusJobs (BOI24_jobs)C++20
11 / 100
81 ms32580 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; using pli = pair<ll, int>; using pll = pair<ll, ll>; #define pb push_back #define ff first #define ss second int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; ll s; cin>>n>>s; vector<int> g[n + 1], a(n + 1), p(n + 1); for (int i = 1; i <= n; i++){ cin>>a[i]>>p[i]; g[p[i]].pb(i); } vector<ll> dp(n + 1); function<void(int, int)> dfs = [&](int v, int pr){ dp[v] = a[v]; for (int i: g[v]){ if (i == pr) continue; dfs(i, v); dp[v] += dp[i]; } dp[v] = max(dp[v], 0LL); }; dfs(0, 0); cout<<dp[0]<<"\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...