Submission #518697

#TimeUsernameProblemLanguageResultExecution timeMemory
518697amukkalirFriend (IOI14_friend)C++17
0 / 100
2 ms2636 KiB
#include "friend.h"
#include <bits/stdc++.h>
typedef long long ll; 
using namespace std; 
#define pb push_back

const int nax = 1e5; 
int dp[nax+5][2]; 
int c[nax+5]; 
vector<int> adj[nax+5]; 
int n; 

int f(int u, int b) {
	int &ret = dp[u][b]; 
	if(adj[u].size() == 0) {
		return ret = b ? c[u] : 0; 
	}

	for(int v : adj[u]) {
		ret = max(ret, dp[v][1]); 
		if(b) {
			ret = max(ret, dp[v][0] + c[u]);  
		}
	}
	return ret; 
}

// Find out best sample
int findSample(int N,int confidence[],int host[],int protocol[]){
	n = N; 
	//memset(dp, -1, sizeof dp); 
	c[0] = confidence[0]; 
	for(int i=1; i<N; i++) {
		c[i] = confidence[i]; 
		adj[host[i]].pb(i); 
	}

	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...