给定一个长度为 n 的整数序列。如果一个区间内的两个相邻元素不同,就记为一次变化。
例如,[2,2,5,5,3] 有 2 次变化。只计算区间内部的相邻元素,区间外的元素不参与计算。
求变化次数不超过 k 的最长非空连续区间长度。
第一行输入两个整数 n,k。第二行输入 n 个整数 a_1,a_2,\ldots,a_n。
输出一个整数,表示满足条件的最长区间长度。
7 1 2 2 5 5 3 3 3
5
12 0 1 1 2 2 2 3 3 1 1 1 1 2
4
30 3 4 4 2 2 2 5 5 1 1 1 1 3 3 2 2 6 6 6 4 4 1 1 1 5 5 2 2 2 3 3
11
选择区间 [3,7],得到 [5,5,3,3,3]。其中只有 5\to3 一次变化,长度为 5。
第 2 个数与第 3 个数虽然不同,但第 2 个数在区间外,不计入变化。两个长度为 6 的区间都包含两次变化,因此答案为 5。
k=0 表示不能有任何变化,所选区间内的数必须全部相同。
对于所有测试数据,保证:1\le n\le10^5,0\le k\le n-1,1\le a_i\le10^6。
本题共 20 个测试点,每个测试点 5 分,各测试点独立计分。
| 测试点编号 | n\le | 特殊性质 |
|---|---|---|
| 1 | 1 | 无 |
| 2 \sim 3 | 10 | 无 |
| 4 \sim 7 | 10^3 | 无 |
| 8 \sim 11 | 10^5 | A |
| 12 \sim 20 | 10^5 | 无 |
特殊性质 A:k=0。