#cpsco2019s1h. [cpsco2019_s1_h]Highest and Ends

[cpsco2019_s1_h]Highest and Ends

问题文

给定长度为N的整数序列A_1, A_2, ..., A_N和整数X。请计算满足以下条件的整数元组(l, m, r)的数量:

  • 1 <= l <= m <= r <= N
  • A_l + A_m + A_r = X
  • A_m是A_i (l <= i <= r) 中的最大值。

约束条件

  • 1 <= N <= 10^5
  • 0 <= X <= 3 * 10^5
  • 0 <= A_i <= 10^5
  • 输入都为整数

部分得分

本题设有部分得分。

  • 当满足N <= 2000 的输入能给出正确答案时,将获得300分。

输入

从标准输入读入输入数据。

N X

A_1 A_2 ... A_N

输出

请在一行中输出满足条件的元组的数量。


输入示例1

6 9
1 2 4 4 3 2

输出示例1

6

元组的组合有(1, 3, 3), (1, 3, 4), (1, 4, 4), (2, 3, 5), (2, 4, 5), (5, 5, 5),共计6个。


输入示例2

3 0
0 0 0

输出示例2

10

输入示例3

10 15
3 1 4 1 5 9 2 6 5 3

输出示例3

7