제출 #1087413

#제출 시각아이디문제언어결과실행 시간메모리
1087413vjudge1Izbori (COCI17_izbori)C++17
16 / 80
3095 ms7260 KiB
#include <bits/stdc++.h> using namespace std; int n,m,k; int f(int i,vector<queue<int>>s){ if(i==n)return 1e9; int mx=0,mxi=0; int cnt[25]={}; for(int i=0;i<n;i++){ cnt[s[i].front()]++; }for(int i=1;i<=m;i++){ if(cnt[i]>mx)mx=cnt[i],mxi=i; }if(mxi==k)return 0; int ret=f(i+1,s); int c=0; while(s[i].front()!=k)s[i].pop(),c++; ret=min(ret,f(i+1,s)+c+1); return ret; } int main(){ cin>>n>>m>>k; vector<queue<int>>s(n); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int x; cin>>x; s[i].push(x); } }int mx=0,mxi=0; int cnt[25]={}; for(int i=0;i<n;i++){ cnt[s[i].front()]++; }for(int i=1;i<=m;i++){ if(cnt[i]>mx)mx=cnt[i],mxi=i; }cout<<mxi<<endl; cout<<f(0,s)<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...