#265. [R43C]序列(Medium Ver.)

[R43C]序列(Medium Ver.)

时空限制

1S/512M

题目描述

给定一个长度为 mm 的序列 bb,我们称 bb 是“好序列”,当且仅当序列的极差不超过一个常数 kk,即:

maxi=1mbimini=1mbik\max_{i=1}^m b_i - \min_{i=1}^m b_i \le k

其中,符号 maxi=1mbi\max_{i=1}^m b_i 表示序列 bbmm 个元素的最大值,mini=1mbi\min_{i=1}^m b_i 表示序列 bbmm 个元素的最小值。

现在给定一个长度为 nn 的序列 aa,你需要求出 aa 有多少个非空子数组是“好序列”。

注:一个序列 xx 是另一个序列 yy 的子数组,当且仅当 xx 可以通过 yy 删除开头任意个和结尾任意个元素(可以为 00 个)得到,即子数组必须是原序列中连续的一段。

格式

输入格式

第一行包含两个整数 n,kn, k,分别表示序列的长度和题目描述中的常数 kk

第二行包含 nn 个整数,第 ii 个数表示 aia_i

输出格式

输出一行一个整数,表示“好序列”子数组的数量。

样例

样例输入 #1

6 3
1 1 4 5 1 4

样例输出 #1

11

样例解释 #1

满足条件的子数组(下标区间 [l,r][l, r])如下:

  • 长度为 11[1,1],[2,2],[3,3],[4,4],[5,5],[6,6][1,1], [2,2], [3,3], [4,4], [5,5], [6,6] (极差均为 00),共 66 个。
  • 长度为 22[1,2][1,2] (极差 00), [2,3][2,3] (极差 33), [3,4][3,4] (极差 11), [5,6][5,6] (极差 33),共 44 个。注意 [4,5][4,5] 极差为 4>34 > 3 不满足。
  • 长度为 33[1,3][1,3] (极差 33),共 11 个。 总计 6+4+1=116 + 4 + 1 = 11 个。

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn\le k,aik, a_i \le
11 3030 400400 10910^9
22 7070 50005000

对于 100%100\% 的数据,1n50001 \le n \le 50000k,ai1090 \le k, a_i \le 10^9