#B1416. 子数组排列判断

子数组排列判断

【题目描述】

小红拿到了一个数组。

她想知道有多少个长度为 kk 的连续子数组是排列。

在本题中,排列指 11 到 kk 中每个整数都恰好出现一次。


【输入描述】

第一行输入两个整数 n,kn,k,表示数组长度和连续子数组长度。

第二行输入 nn 个正整数 aia_i。

保证:

  • 1≤k≤n≤1051\le k\le n\le 10^5;
  • 1≤ai≤1051\le a_i\le 10^5。

【输出描述】

输出一个整数,表示长度为 kk 的连续子数组中,有多少个是 11 到 kk 的排列。


【样例 1】

【样例 1 输入】

5 2
1 2 1 1 2

【样例 1 输出】

3

【样例 1 解释】

合法子数组为两个 [1,2] 和一个 [2,1],共 33 个。


【样例 2】

【样例 2 输入】

6 3
1 2 3 2 1 3

【样例 2 输出】

3

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 3 30 n≤2000n\le 2000
4 ~ 10 70 n≤105n\le 10^5