编程题
### 问题描述 小辫子酱感到很寂寞,因为假期没有人陪她玩。于是,她想出了一道题目来自娱自乐。 给出一个长度为 $n$ 的非负整数序列 $a$,定义 $a$ 的一个连续子区间的权值为该区间的长度减去其中不重复元素的个数。例如,对于序列 $[4,6,1,1,4,5,1,4,7]$,存在连续子区间 $[1,1,4,5,1,4]$,它的长度为 $6$,这个子区间中不重复元素的个数为 $3$。因此,这个子区间的权值为 $6 - 3 = 3$。 为了让问题更好玩,小辫子酱添加了一个约束条件:只有拥有**至少** $k$ 个不重复元素的子区间才是合法的。现在对于所有的合法子区间,小辫子酱想知道它们的权值最小值为多少。但这道题对她太难了,请你帮她解决。 ### 输入格式 第一行两个整数 $n,k \space (1 \leq k \leq n \leq 10^5)$,代表序列长度以及合法的子区间最少要有多少不重复元素。 接下来一行 $n$ 个整数 $a_i \space (0 \leq a_i \leq 10^5)$,代表序列的值。 ### 输出格式 输出一行一个整数,代表所有合法子区间中,权值最小的子区间的权值。如果不存在合法的子区间,输出 $-1$。 ### 样例输入 ``` 11 5 1 9 1 9 8 1 0 1 1 4 5 ``` ### 样例输出 ``` 2 ```
查看答案
赣ICP备20007335号-2