제출 #1329962

#제출 시각아이디문제언어결과실행 시간메모리
1329962ErJJobs (BOI24_jobs)C++20
11 / 100
98 ms25892 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define vi vector<ll>
#define vvi vector<vi>
#define pp pair<ll, ll>
#define vp vector<pp>
#define inf 1000000000
#define mod 1000000007

ll dfs(ll u, vi &A, vvi &edges){
    ll sum = 0;
    for(ll v : edges[u]){
        ll x = dfs(v, A, edges);
        sum += x;
    }
    if(sum + A[u] < 0){
        return 0;
    }
    return sum + A[u];
}

int main(){
    cin.tie(0);
    ios_base::sync_with_stdio(false);
    ll n, s;
    cin >> n >> s;
    vvi edges(n + 1);
    vi A(n + 1, 0);
    for(int i = 0; i < n; i++){
        ll par;
        cin >> A[i + 1] >> par;
        edges[par].push_back(i + 1);
    }
    ll ans = dfs(0, A, edges);
    cout << ans << '\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...