#cpsco2019s4d. [cpsco2019_s4_d]Boring Sequence

[cpsco2019_s4_d]Boring Sequence

配点 : 400400

問題文

ラスク君は長さ NN の数列 aa を持っています。

数列の退屈さとは、連続する部分列であってすべて同じ要素からなるものの長さの最大値のことをいいます。

ラスク君は、数列 aa の要素を KK 個まで任意の整数に書き換えて、退屈さをできるだけ小さくしようとしています。

達成できる退屈さの最小値を求めてください。

制約

  • 入力はすべて整数である。
  • 1leqKleqNleq2times1051 \\leq K \\leq N \\leq 2\\times 10^5
  • 1leqaileqN1 \\leq a_i \\leq N

入力

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

NN KK a1a_1 a2a_2 ldots\\ldots aNa_N

出力

数列 aa の要素を KK 個以下書き換えたときの退屈さの最小値を出力せよ。


入力例 1

10 2
3 3 3 3 4 4 4 4 4 4

出力例 1

3

左から 11 番目の要素を 11 に、77 番目の要素を 22 に書き換えると、数列は

1,3,3,3,4,4,2,4,4,41, 3, 3, 3, 4, 4, 2, 4, 4, 4

となり、退屈さは 33 となります。


入力例 2

9 2
3 3 4 4 4 4 4 4 4

出力例 2

2

左から 44 番目の要素を 55 に、77 番目の要素を 11 に書き換えると、数列は

3,3,4,5,4,4,1,4,43, 3, 4, 5, 4, 4, 1, 4, 4

となり、退屈さは 22 となります。


入力例 3

5 5
3 1 4 1 5

出力例 3

1

全く書き換えを行わなくても構いません。