Submission #829501

#TimeUsernameProblemLanguageResultExecution timeMemory
829501KoDFriend (IOI14_friend)C++17
100 / 100
26 ms3464 KiB
#include "friend.h"
#include <algorithm>
#include <vector>
using namespace std;

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