6507 - 相同数对(pairs)

题目描述

给定一个长度为 n 的整数序列。在一个连续区间内,选出两个不同位置 p,q,满足 p\lt q 且 a_p=a_q,就构成一个相同数对。

数对之间允许共用位置。 例如,[5,5,5] 有 3 个相同数对,分别由第 1,2 个、第 1,3 个和第 2,3 个元素组成。

求包含至少 k 个相同数对的最短非空连续区间长度。如果不存在,输出 -1。

输入

第一行输入两个整数 n,k。第二行输入 n 个整数 a_1,a_2,\ldots,a_n。

输出

输出一个整数,表示最短区间长度;如果不存在,输出 -1。

样例

输入

6 3
1 2 1 1 3 2

输出

4

输入

12 13
1 2 3 4 1 2 3 4 1 2 3 4

输出

-1

输入

30 20
3 1 3 2 1 3 4 2 3 1 2 4 4 3 2 1 3 3 4 2 1 2 3 4 1 3 2 4 3 1

输出

14
说明

样例说明 1

区间 [1,4] 为 [1,2,1,1]。其中值为 1 的位置是 1,3,4,构成数对 (1,3)、(1,4)、(3,4),共 3 对。

这些数对可以共用位置。所有长度不超过 3 的区间都不足 3 对,因此最短长度为 4。

样例说明 2

整个序列中,四种数各出现 3 次,共有 4\times3=12 个相同数对。任何区间都不可能达到 13 对,因此输出 -1。

数据范围与提示

对于所有测试数据,保证:1\le n\le10^5,1\le k\le5\times10^9,1\le a_i\le10^6。

本题共 20 个测试点,每个测试点 5 分,各测试点独立计分。

测试点编号n\le特殊性质
11无
2 \sim 310无
4 \sim 710^3无
8 \sim 1010^5A
11 \sim 1310^5B
14 \sim 2010^5无

特殊性质 A:所有 a_i 均相同。

特殊性质 B:k=1。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 5
通过人数 4
金币数量 1 枚
难度 基础


上一题 下一题