Submission #1190016

#TimeUsernameProblemLanguageResultExecution timeMemory
1190016KindaGoodGamesJobs (BOI24_jobs)C++20
0 / 100
11 ms11956 KiB
#include<bits/stdc++.h>

#define ll long long
#define pii pair<int,int>
#define tiii tuple<int,int,int>

using namespace std;

vector<int> val;
vector<vector<int>> adj;

vector<int> dp;
void DFS(int v){
    dp[v] = val[v];

    for(auto u : adj[v]){
        DFS(u);

        dp[v] = max(dp[v], dp[v]+dp[u]);
    }
}

int main(){
    int n, s;
    cin >> n >> s;

    val.resize(n+1);
    adj.resize(n+1);
    dp.resize(n+1);

    for(int i = 1; i <= n; i++){
        int c, r;
        cin >> c >> r;
        val[i] = c;
        adj[r].push_back(i);
    }

    DFS(0);
    cout << max(0,dp[0]) << endl; 
}
#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...