#Z0018. 众数区间

    ID: 1854 Type: Default File IO: mode 1000ms 256MiB Tried: 7 Accepted: 0 Difficulty: 10 Uploaded By: Tags>S组模拟赛T5双指针计数

众数区间

题目描述

给定一个长度为 nn 的整数数组 a1,a2,…,ana_1,a_2,\dots,a_n 和一个正整数 kk。

对于一个连续子数组,定义它的众数出现次数为其中出现次数最多的数的出现次数。例如子数组 [2,3,2,3][2,3,2,3] 中 22 和 33 都出现了 22 次,众数出现次数为 22。

求有多少个连续子数组的众数出现次数不小于 kk。

输入格式

第一行两个正整数 n,kn,k,满足 1≤k≤n1\le k\le n。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n,相邻两个数用空格隔开。

输出格式

输出一行一个整数,表示满足条件的连续子数组数量。

5 2
2 3 2 3 1
5
8 4
1 1 2 2 2 2 2 1
11

样例解释

样例 11:满足条件的子数组为 [2,3,2][2,3,2]、[3,2,3][3,2,3]、[2,3,2,3][2,3,2,3]、[2,3,2,3,1][2,3,2,3,1]、[3,2,3,1][3,2,3,1],共 55 个。

样例 22:数组中有连续五个 22,所有包含这五个 22 中至少四个的子数组都满足条件,共有 1111 个。

数据范围与约定

子任务 分值 限制
11 3030 1≤n≤10001 \le n \le 1000
22 k=1k=1
33 4040 1≤n≤1051 \le n \le 10^5,1≤k≤n1 \le k \le n,0≤ai≤1090 \le a_i \le 10^9

下发样例

下发样例下载