atcoder#AGC018B. [AGC018B] Sports Festival

[AGC018B] Sports Festival

配点 : 700700

問題文

高橋君は、スポーツ大会を開こうと考えています。 スポーツ大会に参加するのは、11 から NN までの番号のついた NN 人の人です。 また、大会で行うスポーツとして、11 から MM までの番号のついた MM 個のスポーツが候補に上がっています。 高橋君は、これらの中から 11 つ以上(全てでもよい)のスポーツを選んで、スポーツ大会で実施します。

高橋君は、人 ii が、jj 番目に好きなスポーツが AijA_{ij} であることを知っています。 それぞれの人は、スポーツ大会で実施されるスポーツのうち、自分が最も好きなスポーツだけに参加し、他のスポーツには参加しません。

高橋君は、一つのスポーツにたくさんの人が集まり過ぎることを懸念しています。 そこで高橋君は、スポーツ大会で実施するスポーツをうまく選んで、最も多くの人が参加しているスポーツの参加人数を最小化したくなりました。 最も多くの人が参加しているスポーツの参加人数の最小値を求めてください。

制約

  • 1N3001 \leq N \leq 300
  • 1M3001 \leq M \leq 300
  • Ai1A_{i1} , Ai2A_{i2} , ...... , AiMA_{iM} は、11 から MM の順列である。

入力

入力は以下の形式で標準入力から与えられる。

NN MM

A11A_{11} A12A_{12} ...... A1MA_{1M}

A21A_{21} A22A_{22} ...... A2MA_{2M}

::

AN1A_{N1} AN2A_{N2} ...... ANMA_{NM}

出力

最も多くの人が参加しているスポーツの参加人数の最小値を出力せよ。

4 5
5 1 3 4 2
2 5 3 1 4
2 3 1 4 5
2 5 4 3 1
2

スポーツ 11,33,44 を実施することにすると、人 11 はスポーツ 11 に、人 22 はスポーツ 33 に、 人 33 はスポーツ 33 に、人 44 はスポーツ 44 に参加します。 このとき、参加人数が最大のスポーツはスポーツ 33 で、その参加人数 22 人です。 また、参加人数が最大のスポーツの参加人数が 11 人になるような方法は存在しないので、この例の答えは 22 になります。

3 3
2 1 3
2 1 3
2 1 3
3

全員の好みが一致しているので、どうやっても一つのスポーツに 33 人集まってしまいます。 よってこの例の答えは 33 です。