Submission #1450077


Source Code Expand

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define fore(i,a) for(auto &i:a)
#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧  
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     
    /   \     | |     
    /   / ̄ ̄ ̄ ̄/  |  
  __(__ニつ/     _/ .| .|____  
     \/____/ (u ⊃  
---------------------------------------------------------------------------------------------------*/
 
 
 
int N, M;
int A[303][303];
//---------------------------------------------------------------------------------------------------
int check(int x) {
    vector<queue<int>> vq(N);
    vector<int> used(M, 0);
    rep(y, 0, N) rep(x, 0, M) vq[y].push(A[y][x]);
 
    while(1) {
        map<int, int> m;
        rep(y, 0, N) m[vq[y].front()]++;
        vector<int> ng;
        fore(p, m) if (x < p.second) ng.push_back(p.first);
 
        if (ng.size() == 0) return 1;
 
        fore(j, ng) used[j] = 1;

        rep(y, 0, N) {
            while (!vq[y].empty() && used[vq[y].front()]) vq[y].pop();
            if (vq[y].empty()) return 0;
        }
    }
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> M;
    rep(y, 0, N) rep(x, 0, M) {
        cin >> A[y][x];
        A[y][x]--;
    }
    
    int ng = 0, ok = N;
    while (ng + 1 != ok) {
        int x = (ng + ok) / 2;
        if (check(x)) ok = x;
        else ng = x;
    }
    cout << ok << endl;
}

Submission Info

Submission Time
Task B - Sports Festival
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1985 Byte
Status AC
Exec Time 21 ms
Memory 1196 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 3
AC × 24
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 384 KB
subtask_1_03.txt AC 2 ms 384 KB
subtask_1_04.txt AC 2 ms 384 KB
subtask_1_05.txt AC 1 ms 512 KB
subtask_1_06.txt AC 4 ms 888 KB
subtask_1_07.txt AC 7 ms 868 KB
subtask_1_08.txt AC 3 ms 868 KB
subtask_1_09.txt AC 2 ms 868 KB
subtask_1_10.txt AC 2 ms 384 KB
subtask_1_11.txt AC 4 ms 384 KB
subtask_1_12.txt AC 1 ms 256 KB
subtask_1_13.txt AC 4 ms 572 KB
subtask_1_14.txt AC 11 ms 1196 KB
subtask_1_15.txt AC 21 ms 1152 KB
subtask_1_16.txt AC 12 ms 1152 KB
subtask_1_17.txt AC 12 ms 1152 KB
subtask_1_18.txt AC 17 ms 1152 KB