Submission #173054

#TimeUsernameProblemLanguageResultExecution timeMemory
173054maximath_1Friend (IOI14_friend)C++11
0 / 100
2 ms376 KiB
#include<bits/stdc++.h>
using namespace std;
int findSample(int n, int c[], int h[], int p[]){
	int ans[n], alt[n];
	for(int i=0; i<n; i++) ans[i]=c[i];
	for(int i=n-1; i>0; i--){
		if(p[i]==0){
			ans[h[i]]+=alt[i];
			alt[h[i]]+=ans[i];
		}else if(p[i]==1){
			ans[h[i]]+=ans[i];
			alt[h[i]]+=alt[i];
		}else if(p[i]==2){
			ans[h[i]]=max(ans[h[i]]+alt[i], alt[h[i]]+ans[i]);
			alt[h[i]]+=alt[i];
		}
		ans[h[i]]=max(ans[h[i]], alt[h[i]]);
	}
	return ans[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...