제출 #719349

#제출 시각아이디문제언어결과실행 시간메모리
719349Ahmed57친구 (IOI14_friend)C++14
100 / 100
26 ms2896 KiB
#include "friend.h"

#include <bits/stdc++.h>

using namespace std;

long long dp[100005][2];
int findSample(int n,int confidence[],int host[],int protocol[]){
    for(int i = 0;i<n;i++){
        dp[i][1]=confidence[i];
        dp[i][0]=0;
    }
    for(int i = n-1;i>0;i--){
        if(protocol[i]==0){
            dp[host[i]][0]+=dp[i][1];
            dp[host[i]][1]+=dp[i][0];
        }if(protocol[i]==1){
            dp[host[i]][1]+=dp[i][1];
            dp[host[i]][0]+=dp[i][0];
        }if(protocol[i]==2){
            dp[host[i]][1]=max(dp[host[i]][1]+dp[i][0],dp[host[i]][0]+dp[i][1]);
            dp[host[i]][0]+=dp[i][0];
        }
        dp[host[i]][1] = max(dp[host[i]][1],dp[host[i]][0]);
    }
    return max(dp[0][1],dp[0][0]);
}
/*signed main(){
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int n = 6;
    int host[] = {0,0,0,1,2,0};
    int con[] = {13,3,6,20,10,15};
    int prt[] = {0,0,1,2,1,0};
    cout<<find_sample(n,con,host,prt)<<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...
#Verdict Execution timeMemoryGrader output
Fetching results...