Submission #866552

#TimeUsernameProblemLanguageResultExecution timeMemory
866552Onur_IlgazFriend (IOI14_friend)C++17
100 / 100
26 ms3152 KiB
#include "friend.h"
#include <bits/stdc++.h>
using namespace std;

// Find out best sample
int findSample(int n,int p[],int par[],int protocol[]){
	vector <int> q(n);
	for(int i = n-1; i > 0; i--) {
		int to = par[i];
		if(protocol[i] == 0) {
			p[to] = p[to] + q[i];
			q[to] = max(q[i], p[i]) + q[to];
		}
		if(protocol[i] == 1) {
			p[to] = max({p[to] + p[i], p[to] + q[i], p[i] + q[to]});
			q[to] = q[i] + q[to];
		}
		if(protocol[i] == 2) {
			p[to] = max(p[to] + q[i], p[i] + q[to]);
			q[to] = q[i] + q[to];
		}
	}
	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...