제출 #108984

#제출 시각아이디문제언어결과실행 시간메모리
108984dantoh000친구 (IOI14_friend)C++14
100 / 100
71 ms2424 KiB
#include "friend.h"
#include <bits/stdc++.h>
using namespace std;
int findSample(int n, int confidence[], int host[], int protocol[]) {
    int p[n], q[n];
    memset(p,0,sizeof(p));
    memset(q,0,sizeof(q));
    for (int i = 0; i < n; i++){
        p[i] = confidence[i];
        q[i] = 0;
    }
    for (int i = n-1; i >= 1; i--){
        int v = host[i];
        if (protocol[i] == 0){
            p[v] += q[i];
            q[v] += max(p[i],q[i]);
        }
        if (protocol[i] == 1){
            p[v] = max(p[i]+p[v],max(p[i]+q[v],q[i]+p[v]));
            q[v] += q[i];
        }
        if (protocol[i] == 2){
            p[v] = max(p[i]+q[v],q[i]+p[v]);
            q[v] += q[i];
        }
        //printf("%d %d %d %d\n",i,v,p[v],q[v]);
    }
    return max(p[0],q[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...
#Verdict Execution timeMemoryGrader output
Fetching results...