Submission #422109

#TimeUsernameProblemLanguageResultExecution timeMemory
422109Peti친구 (IOI14_friend)C++14
100 / 100
31 ms3056 KiB
#include <bits/stdc++.h>
#include "friend.h"

using namespace std;

// Find out best sample
int findSample(int n,int confidence[], int host[], int protocol[]){
    vector<pair<int, int>> v(n, make_pair(0, 0));
    for(int i = 0; i < n; i++)
        v[i].first = confidence[i];
    for(int i = n-1; i > 0; i--){
        if(protocol[i] == 0){
            v[host[i]].first += v[i].second;
            v[host[i]].second += v[i].first;
            v[host[i]].first = max(v[host[i]].first, v[host[i]].second);
        } else if(protocol[i] == 1){
            v[host[i]].first += v[i].first;
            v[host[i]].second += v[i].second;
            v[host[i]].first = max(v[host[i]].first, v[host[i]].second);
        } else{
            v[host[i]].first = max(v[host[i]].first + v[i].second, v[i].first + v[host[i]].second);
            v[host[i]].second += v[i].second;
            v[host[i]].first = max(v[host[i]].first, v[host[i]].second);
        }
    }

	return max(v[0].first, v[0].second);
}
#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...