제출 #1278904

#제출 시각아이디문제언어결과실행 시간메모리
1278904stanwaibbangeFriend (IOI14_friend)C++20
100 / 100
17 ms1436 KiB
#include "friend.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int INF = numeric_limits<int>::max() / 2;

// Find out best sample
int findSample(int n,int confidence[],int host[],int protocol[]){
	// int ans=0;
	// for (int i=0;i<n;++i){
	// 	ans+=confidence[i];
	// }
	// return ans;
	// int ans=0;
	// for (int i=0;i<n;++i){
	// 	if (confidence[i] > ans) {
	// 		ans = confidence[i];
	// 	}
	// }
	// return ans;
	// vector<vector<int>> adj(n,vector<int>{});
	// for (int i=1;i<n;++i){
	// 	if (protocol[i] == 0 || protocol[i] == 2) {
	// 		adj[i].push_back(host[i]);
	// 	}
	// 	if (protocol[i] == 1 || protocol[i] == 2) {
	// 		adj[i].append_range(adj[host[i]]);
	// 	}
	// }
	int out = 0;
	for (int i=n-1;i>0;--i){
		if (protocol[i] == 0) {
			out+=confidence[i];
			confidence[host[i]] -= confidence[i];
			if (confidence[host[i]] < 0) {
				confidence[host[i]] = 0;
			}
		}
		if (protocol[i] == 1) {
			confidence[host[i]] += confidence[i];
		}
		if (protocol[i] == 2) {
			confidence[host[i]] = max(confidence[i],confidence[host[i]]);
		}
	}
	out += confidence[0];
	return out;
}
#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...