Submission #1174988

#TimeUsernameProblemLanguageResultExecution timeMemory
1174988AlgorithmWarriorFriend (IOI14_friend)C++20
100 / 100
16 ms2376 KiB
#include <bits/stdc++.h>
#define __MAXSIZE__ 100002
#include "friend.h"

using namespace std;

int da[__MAXSIZE__];
int nu[__MAXSIZE__];

int findSample(int n,int confidence[],int host[],int protocol[]){
    int i;
    for(i=0;i<n;++i)
        da[i]=confidence[i];
    for(i=n-1;i;--i){
        int h=host[i];
        if(protocol[i]==0){
            da[h]=da[h]+nu[i];
            nu[h]=nu[h]+max(da[i],nu[i]);
        }
        else
        if(protocol[i]==1){
            da[h]=max(max(da[h]+da[i],da[h]+nu[i]),nu[h]+da[i]);
            nu[h]=nu[h]+nu[i];
        }
        else{
            da[h]=max(da[h]+nu[i],nu[h]+da[i]);
            nu[h]=nu[h]+nu[i];
        }
    }
    return max(da[0],nu[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...