在 K 次替换后具有唯一元素的最大子数组长度

C++ Hard arrays

任务 «在 K 次替换后具有唯一元素的最大子数组长度»

给定一个整数数组。允许将数组中最多 K 个元素替换为任意其他整数(可能不唯一)。需要找出在执行最多 K 次替换后,所有元素均不相同(唯一)的连续子数组的最大可能长度。如果无法得到具有唯一元素的子数组,则输出 0。限制条件:数组长度 N 最多为 10^5,K 最多为 N,元素值的绝对值最多为 10^9。

输入格式

在第一行中,有两个整数 N 和 K(1 ≤ N ≤ 100000,0 ≤ K ≤ N)。在第二行中,有 N 个整数——数组的元素。

输出格式

一个整数——在不超过K次替换后,具有唯一元素的最长子数组的最大长度。

示例

示例 1

输入
4 1 2 3 4
输出
3
main.cpp