Submission #1064026

#TimeUsernameProblemLanguageResultExecution timeMemory
1064026woodFriend (IOI14_friend)C++17
11 / 100
1061 ms65536 KiB
#include "friend.h"
#include <bits/stdc++.h>
using namespace std;

// Find out best sample
int findSample(int n,int confidence[],int host[],int protocol[]){
	set<int> fset[n];
	for(int i = 1; i<n; i++){
		if(protocol[i]==0||protocol[i]==2){
			fset[i].insert(host[i]);
			fset[host[i]].insert(i);
		}
		if(protocol[i]>0){
			for(int x : fset[host[i]]) {
				fset[x].insert(i);
				fset[i].insert(x);
			}
		}
	}
	int result =  0;
	for(int i = 0; i<(1<<n); i++){
		int x = i;
		set<int> list;
		int p = 0;
		while(x){
			if(x&1)
				list.insert(p);
			p++;
			x>>=1;
		}
		int res = 0;
		for(int xx : list){
			res+=confidence[xx];
			for(int y : list){
				if(xx==y) continue;
				if(fset[xx].count(y)) goto fail;
			}
		}
		result = max(result,res);
fail:
		continue;
	}
	return result;
}
#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...