Submission #1087516

#TimeUsernameProblemLanguageResultExecution timeMemory
1087516idk__Izbori (COCI17_izbori)C++14
48 / 80
1 ms604 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 101, M = 16;
int n, m, k, num, ans=0, poi[N], a[N][M], cnt[M];

int main() {
    int count;
    cin >> n >> m >> k;

    for(int i = 0;i < n; i++){
        for(int j = 0;j < m ;j++){
            cin >> a[i][j];
        }
    }
    
    while(true){
        
        count=0, num=-1;
        for(int i = 0;i < M; i++)cnt[i]=0;

        for(int i = 0;i < n; i++){
        while(true){
            if(a[i][poi[i]]==-5)poi[i]++;
            else break;

        }
        if(poi[i]==m)continue;
        int& curr = a[i][poi[i]];
        


        cnt[curr]++;
        if((cnt[curr] > count) or (cnt[curr] == count and curr < num)){
            num = curr;
            count=cnt[curr];
        }
        
        
        }
        if(ans==0)cout << num << endl;
        if(num == k or ans == m-1)break;
       
       
        for(int i = 0;i < n; i++){
            for(int j = 0;j < m; j++){
                if(a[i][j]==num)a[i][j]=-5;

            }
        }
        
        ans++;
        
    }
  cout << min(ans, m-1) << endl;
    
    
    }
#Verdict Execution timeMemoryGrader output
Fetching results...