Submission #1224935

#TimeUsernameProblemLanguageResultExecution timeMemory
1224935s3yoonparkJobs (BOI24_jobs)C++20
11 / 100
169 ms26076 KiB
#include <bits/stdc++.h>
#define int long long 
using namespace std; 
int a[300005], b[300005]; 
vector<int> adj[300005]; 
int solve(int u, int p) {
  int ans = 0; 
  for (int v : adj[u]) {
    if (v == p) continue; 
    ans += solve(v, u); 
  }
  return max(0ll, ans + a[u]); 
}
signed main() {
  int n, s; cin >> n >> s; 
  for (int i = 1; i <= n; i++) {
    cin >> a[i] >> b[i]; 
    adj[b[i]].push_back(i); 
  }
  // subtask 1 
  cout << solve(0, -1) << '\n'; 
  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...