Submission #106700

# Submission time Handle Problem Language Result Execution time Memory
106700 2019-04-19T18:17:30 Z tincamatei Friend (IOI14_friend) C++14
11 / 100
31 ms 2692 KB
#include "friend.h"
#include <bits/stdc++.h>

using namespace std;

const int MAX_N = 1000;
bool matr[MAX_N][MAX_N];
vector<int> graph[MAX_N];


void buildGraph(int n, int *host, int *protocol) {
	for(int i = 1; i < n; ++i) {
		if(protocol[i] == 0)
			matr[i][host[i]] = matr[host[i]][i] = true;
		else if(protocol[i] == 1) {
			for(int j = 0; j < n; ++j)
				if(matr[host[i]][j])
					matr[i][j] = matr[j][i] = true;
		} else {
			matr[i][host[i]] = matr[host[i]][i] = true;
			for(int j = 0; j < n; ++j)
				if(matr[host[i]][j])
					matr[i][j] = matr[j][i] = true;
		}
	}

	for(int i = 0; i < n; ++i)
		matr[i][i] = false;

	for(int i = 0; i < n; ++i)
		for(int j = 0; j < n; ++j)
			if(matr[i][j])
				graph[i].push_back(j);
}

// Find out best sample
int findSample(int n,int confidence[],int host[],int protocol[]){
	int rez = 0;
	if(n <= 10) {
		buildGraph(n, host, protocol);
		
		for(int mask = 0; mask < (1 << n); ++mask) {
			int sum = 0;
			bool ok = true;
			
			for(int i = 0; i < n; ++i) {
				if((1 << i) & mask)
					sum = sum + confidence[i];
				for(int j = 0; j < n; ++j)
					if(((1 << i) & mask) != 0 && ((1 << j) & mask) != 0 && matr[i][j])
						ok = false;
			}
			if(ok)
				rez = max(rez, sum);
		}
	}

	return rez;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 2 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct
11 Correct 3 ms 384 KB Output is correct
12 Correct 2 ms 384 KB Output is correct
13 Correct 2 ms 384 KB Output is correct
14 Correct 2 ms 384 KB Output is correct
15 Correct 3 ms 384 KB Output is correct
16 Correct 3 ms 384 KB Output is correct
17 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Incorrect 3 ms 384 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 3 ms 384 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 3 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Incorrect 2 ms 384 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 1 ms 384 KB Output is correct
9 Correct 3 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct
11 Correct 3 ms 384 KB Output is correct
12 Incorrect 31 ms 2692 KB Output isn't correct
13 Halted 0 ms 0 KB -