제출 #40400

#제출 시각아이디문제언어결과실행 시간메모리
40400szawinisIzbori (COCI17_izbori)C++14
80 / 80
33 ms776 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 101, M = 16;

int n, m, k, ans = INT_MAX, a[N][M], cnt[M];
int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> n >> m >> k;
	for(int i = 1; i <= n; i++) {
		for(int j = 1; j <= m; j++) cin >> a[i][j];
		++cnt[a[i][1]];
	}
	cout << max_element(cnt+1, cnt+m+1) - cnt << endl;
	for(int mask = 0; mask < (1 << m) - 1; mask++) {
		fill(cnt+1, cnt+m+1, 0);
		for(int i = 1; i <= n; i++) {
			int j = 1;
			while(mask >> (a[i][j] - 1) & 1) ++j;
			++cnt[a[i][j]];
		}
		if(max_element(cnt+1, cnt+m+1) - cnt == k) ans = min(__builtin_popcount(mask), ans);
	}
	cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...