004 - Range Deleting
時間制限 2 秒 / メモリ制限 1024 MB / 得点 400 / x 1 /
問題
長さ$ \ 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