100 atcoder#ABC210C. [ABC210C] Colorful Candies

[ABC210C] Colorful Candies

配点 : 300300

問題文

NN 個のキャンディが左右一列に並んでいます。 それぞれのキャンディは、色 11、色 22\ldots、色 10910^9の、10910^9 種類の色のうちいずれかの色をしています。 i=1,2,,Ni = 1, 2, \ldots, N について、左から ii 番目のキャンディの色は色 cic_i です。

高橋君は並んでいるキャンディのうち、連続して並んだ KK 個のキャンディをもらうことができます。 すなわち、1iNK+11 \leq i \leq N-K+1 を満たす整数 ii を選んで、 左から ii 番目、i+1i+1 番目、i+2i+2 番目、\ldotsi+K1i+K-1 番目のキャンディをもらうことができます。

高橋君はいろいろな色のキャンディを食べたいので、 もらうキャンディに含まれる色の種類数が多いほどうれしい気持ちになります。 高橋君がもらうキャンディに含まれる色の種類数の最大値を出力してください。

制約

  • 1KN3×1051 \leq K \leq N \leq 3 \times 10^5
  • 1ci1091 \leq c_i \leq 10^9
  • 入力はすべて整数

入力

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

NN KK

c1c_1 c2c_2 \ldots cNc_N

出力

高橋君がもらうキャンディに含まれる色の種類数の最大値を出力せよ。

7 3
1 2 1 2 3 3 1
3

高橋君が左から 33 番目から 55 番目のキャンディをもらうと、もらうキャンディに含まれる色は 33 種類になり、これが最大です。

5 5
4 4 4 4 4
1

高橋君は並んでいるすべてのキャンディをもらうことが出来ますが、もらうキャンディに含まれる色は 11 種類です。

10 6
304621362 506696497 304621362 506696497 834022578 304621362 414720753 304621362 304621362 414720753
4