제출 #1087385

#제출 시각아이디문제언어결과실행 시간메모리
1087385kasdoIzbori (COCI17_izbori)C++17
44 / 80
1 ms600 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define speed cin.tie (0) -> sync_with_stdio (0);ios_base::sync_with_stdio(false);cin.tie(0);
void solve()
{
    int n, m, k;
    cin>>n>>m>>k;
    int a[n + 5][m + 5];
    
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            cin>>a[i][j];
        }
    }
    
    bool v[n + m + 5] = {};
    for(int j=0; j<m; j++)
    {
        pair<int, int> mx = {0, 0};
        int f[n + m + 5] = {};
        for(int i=0; i<n; i++)
        {
            int idx = 0;
            while(idx < m && v[a[i][idx]]) idx++;
            if (idx == m) continue;
            f[a[i][idx]]++;
            
            if (f[a[i][idx]] == mx.first && a[i][j] < mx.second) mx = {f[a[i][idx]], a[i][j]};
            if (f[a[i][idx]] > mx.first) mx = {f[a[i][idx]], a[i][j]};
        }
        
        v[mx.second] = 1;
        if (j == 0) cout<<mx.second<<endl;
        if (v[k])
        {
            cout<<j<<endl;
            break;
        }
    }
}
signed main ()
{
    speed
    // freopen("feast.in", "r", stdin);
    // freopen("feast.out", "w", stdout);

    int _ = 1;
    // cin>>_;

    while(_--) solve();

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...