제출 #1358031

#제출 시각아이디문제언어결과실행 시간메모리
1358031MrAndriaJobs (BOI24_jobs)C++20
11 / 100
149 ms30584 KiB
#include <bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
#define int long long
int n,ans,x,p[1000005],dp[1000005],sz[1000005],a[1000005];
vector <int> adj[1000005];
bool vis[1000005];
set <pair <int,int> > s;
void dfs(int x){
    dp[x]=0;
    sz[x]=a[x];
    for(auto u:adj[x]){
        dfs(u);
        dp[x]+=dp[u];
        sz[x]+=sz[u];
    }
    dp[x]=min({dp[x],0LL,sz[x]});
}
signed main(){
    cin>>n>>ans;
    a[0]=ans;
    
    for(int i=1;i<=n;i++){
        int p;
        cin>>a[i];
        cin>>p;
        adj[p].pb(i);
    }
    dfs(0);
    cout<<sz[x]-dp[x]-a[0]<<endl;
    
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…