| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 239310 | MrRobot_28 | Izbori (COCI17_izbori) | C++17 | 42 ms | 384 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
signed main()
{
	int n, m, k;
	cin >> n >> m >> k;
	vector <vector <int> > A(n, vector <int> (m));
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < m; j++)
		{
			cin >> A[i][j];
			A[i][j]--;
		}
	}
	vector <int> cnt(m);
	for(int i = 0; i < n; i++)
	{
		cnt[A[i][0]]++;
	}
	int maxid = 0;
	for(int i = 1; i < m; i++)
	{
		if(cnt[i] > cnt[maxid])
		{
			maxid = i;
		}
	}
	int ans = 1e9;
	cout << maxid + 1 << "\n";
	for(int mask = 0; mask < (1 << m); mask++)
	{
		for(int i = 0; i < m; i++)
		{
			cnt[i] = 0;
		}
		for(int i = 0; i < n; i++)
		{
			for(int j = 0; j < m; j++)
			{
				if(((1 << A[i][j]) & mask) == 0)
				{
					cnt[A[i][j]]++;
					break;
				}
			}
		}
		int maxid = 0;
		for(int i = 0; i < m; i++)
		{
			if(cnt[i] > cnt[maxid])
			{
				maxid = i;
			}
		}
		if(maxid + 1 == k)
		{
			ans = min(ans, __builtin_popcount(mask));
		}
	}
	cout << ans;
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
