Submission #1181680

#TimeUsernameProblemLanguageResultExecution timeMemory
1181680stdfloatFriend (IOI14_friend)C++20
11 / 100
1093 ms131072 KiB
#include <bits/stdc++.h>
#include "friend.h"
// #include "grader.cpp"
using namespace std;

int findSample(int n, int cnfd[], int hst[], int prt[]) {
	vector<int> cnt(3), E[n];
	for (int i = 1; i < n; i++) {
		cnt[prt[i]]++;

		if (prt[i]) {
			for (auto j : E[hst[i]]) {
				E[j].push_back(i);
				E[i].push_back(j);
			}
		}
		if (prt[i] != 1) {
			E[hst[i]].push_back(i);
			E[i].push_back(hst[i]);
		}
	}

	int mx = 0;
	for (int mk = 0; mk < 1 << n; mk++) {
		int sm = 0;
		bool tr = true;
		for (int i = 0; i < n && tr; i++) {
			if (!(mk >> i & 1)) continue;

			sm += cnfd[i];

			for (auto j : E[i]) {
				if (mk >> j & 1) {
					tr = false; break;
				}
			}
		}

		if (tr) mx = max(mx, sm);
	}

	return mx;
}
#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...