004 - Range Deleting

時間制限 2 秒 / メモリ制限 1024 MB / 得点 400 / x 1 /


TLE
2sec
MLE
1024MB
得点
400

問題

長さ$ \ N \ $の数列$ \ A = (A_1,A_2,\ldots,A_N) \ $が与えられます。あなたは二つの整数$ \ l,r \ (1 \leq l \leq r \leq N) \ $を選び、$A \ $の$ \ l \ $番目から$ \ r \ $番目までの要素のうち値が$ \ l \ $以上$ \ r \ $以下であるものを全て取り除くという操作を丁度$ \ 1 \ $回行います。

$A \ $に含まれる値の種類数が$ \ K \ $以下になるような$ \ l,r \ $を選んで操作を行うとき$ \ r - l + 1 \ $の最小値を求めてください。

入力

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

$N \ K$
$A_1 \ A_2 \ \ldots \ A_N$

出力

答えを一行に出力せよ。出力の末尾には改行を入れること。

制約

  • $1 \leq N \leq 3 \times 10^5$
  • $0 \leq K \leq N$
  • $1 \leq A_i \leq N$
  • 入力は全て整数

入出力例

入力例1

5 2
2 1 4 2 3

出力例1

3

例として$ \ l = 3,r = 5 \ $を選ぶと、$2,1,4,2,3 \ $から$ \ 3 \ $番目と$ \ 5 \ $番目の要素が削除され$ \ 2,1,2 \ $となります。このときの種類数は$ \ 2 \ $であるため条件を満たし、$r - l + 1 = 3 \ $です。$r - l + 1 \ $が$ \ 3 \ $未満となるように$ \ l,r \ $を選ぶことはできないため$ \ 3 \ $が答えとなります。


入力例2

5 0
2 1 4 2 3

出力例2

5