제출 #239310

#제출 시각아이디문제언어결과실행 시간메모리
239310MrRobot_28Izbori (COCI17_izbori)C++17
80 / 80
42 ms384 KiB
#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 timeMemoryGrader output
Fetching results...