Submission #798262

#TimeUsernameProblemLanguageResultExecution timeMemory
798262QwertyPiFriend (IOI14_friend)C++14
0 / 100
1 ms340 KiB
#include "friend.h"
#include <bits/stdc++.h>

using namespace std;
struct state{
	int p, q;
};

state st[100011];

state f(int ptc, state s, state t){
	if(ptc == 1) return {s.p + t.q, max(s.q + t.p, s.q + t.q)};
	else if(ptc == 2) return {max(s.p + t.p, max(s.p + t.q, s.q + t.p)), s.q + t.q};
	else return {max(s.p + t.q, s.q + t.p), s.q + t.q};
}

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