제출 #475395

#제출 시각아이디문제언어결과실행 시간메모리
475395Ahmed57Izbori (COCI17_izbori)C++14
76 / 80
144 ms204 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,m,k; cin>>n>>m>>k; int arr[n][m]; for(int i = 0;i<n;i++)for(int j = 0;j<m;j++)cin>>arr[i][j]; for(int i=0;i<m;i++){ map<int,int>mp; for(int j = 0;j<n;j++){ mp[arr[j][i]]++; } if(i==0){ long long ans = 0; int ma=0; for(auto j:mp){ ma = max(ma,j.second); } for(auto j:mp){ if(j.second==ma){ ans=j.first; break; } } cout<<ans<<endl; } } int ans2=m; for(int mm=1;mm<(1<<m);mm++){ int s[m+1]={0}; int c=0; for(int i=0;i<m;i++){ int a=(1<<i)&mm; if(a)s[i+1]=1; else c++; } int w=m; int ma=0; vector<int>temp; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(s[arr[i][j]]) { temp.push_back(arr[i][j]); break; } } } map<int,int>f; for(auto i:temp){ f[i]++; } for(int i=1;i<=m;i++){ ma = max(ma,f[temp[i]]); } for(int i=1;i<=m;i++){ if(f[i]==ma){ w=i; break; } } if(w==k){ ans2=min(ans2,c); } } cout<<ans2<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...