Submission #1087413

#TimeUsernameProblemLanguageResultExecution timeMemory
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...