Submission #1233576

#TimeUsernameProblemLanguageResultExecution timeMemory
1233576AriadnaJobs (BOI24_jobs)C++20
11 / 100
160 ms25888 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int N = 3e5+1;
vector<int> adj[N];
int x[N], p[N];
ll dp[N];

ll dfs(int u) {
    dp[u] = x[u];
    for (int v: adj[u]) {
        dp[u] += dfs(v);
    }
    dp[u] = max(dp[u], 0LL);
    return dp[u];
}

int main() {
    int n;
    ll s;
    cin >> n >> s;
    queue<int> root;
    for (int i = 1; i <= n; ++i) {
        cin >> x[i] >> p[i];
        adj[p[i]].push_back(i);
    }
    cout << dfs(0) << endl;

    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...