6504 - 种类限制(kinds)

题目描述

给定一个长度为 n 的整数序列,求有多少个非空连续区间,其中不同数值的种类数不超过 k。

同一种数可以出现多次。例如,[2,2,5] 有 2 种不同的数。只要左端点或右端点不同,就算不同区间。

输入

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

输出

输出一个整数,表示满足条件的区间数量。

样例

输入

5 2
1 2 1 3 3

输出

11

输入

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

输出

32

输入

30 3
5 2 5 3 2 7 7 3 5 2 8 8 2 5 3 7 2 2 5 8 3 3 7 5 2 8 7 3 2 5

输出

106
说明

样例说明 1

按左端点分类,合法区间如下:

  • 左端点为 1:[1,1]、[1,2]、[1,3],共 3 个。
  • 左端点为 2:[2,2]、[2,3],共 2 个。
  • 左端点为 3:[3,3]、[3,4]、[3,5],共 3 个。
  • 左端点为 4:[4,4]、[4,5],共 2 个。
  • 左端点为 5:[5,5],共 1 个。

合计 3+2+3+2+1=11 个。

数据范围与提示

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

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

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

特殊性质 A:k=1。

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


上一题 下一题