제출 #1269194

#제출 시각아이디문제언어결과실행 시간메모리
1269194chinhhoangJobs (BOI24_jobs)C++20
0 / 100
108 ms22720 KiB
#include <bits/stdc++.h> using namespace std; vector<int>child[300003]; long long sum[300003], mx[300003], energy[300003]; bool alive[300003]; void dfs(int u){ mx[u] = sum[u]; for(auto v : child[u]){ sum[v] = sum[u] + energy[v]; dfs(v); mx[u] = max(mx[u], mx[v]); } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; long long s; cin >> n >> s; for(int i=1;i<=n;i++){ int p; cin >> energy[i] >> p; if(p == 0) alive[i] = 1; else child[p].push_back(i); } long long ans = 0; for(int i=1;i<=n;i++){ if(alive[i]){ sum[i] = energy[i]; dfs(i); ans += max(0ll,mx[i]); } } cout << ans; return 0; }
#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...