제출 #1347937

#제출 시각아이디문제언어결과실행 시간메모리
1347937Warinchai친구 (IOI14_friend)C++20
100 / 100
12 ms2304 KiB
#include "friend.h"
#include<bits/stdc++.h>
using namespace std;

int ans[100005][2];

// Find out best sample
int findSample(int n,int confidence[],int host[],int protocol[]){
	for(int i=0;i<n;i++)ans[i][1]=confidence[i],ans[i][0]=0;
	for(int i=n-1;i>0;i--){
		int x=host[i];
		if(protocol[i]==0){
			ans[x][1]=max({ans[x][1]+ans[i][0]});
			ans[x][0]=max({ans[x][0]+ans[i][0],ans[x][0]+ans[i][1]});
		}else if(protocol[i]==1){
			ans[x][1]=max({ans[x][1]+ans[i][0],ans[x][1]+ans[i][1],ans[x][0]+ans[i][1]});
			ans[x][0]=max({ans[x][0]+ans[i][0]});
		}else{
			ans[x][1]=max({ans[x][1]+ans[i][0],ans[x][0]+ans[i][1]});
			ans[x][0]=max({ans[x][0]+ans[i][0]});
		}
		//cerr<<"host:"<<x<<" "<<ans[x][0]<<" "<<ans[x][1]<<"\n";
	}
	return max(ans[0][0],ans[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...