Submission #58613

#TimeUsernameProblemLanguageResultExecution timeMemory
58613aomeFriend (IOI14_friend)C++17
27 / 100
4 ms728 KiB
#include "friend.h"

#include <bits/stdc++.h>

using namespace std;

const int N = 100005;

int f[N][2];

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