#arc075c. [arc075_c]Meaningful Mean

[arc075_c]Meaningful Mean

题目描述

给定一个长度为 NN 的整数序列 a=a = {a1,a2,,aNa_1, a_2, …, a_N},以及一个整数 KK

aaN(N+1)/2N(N+1)/2 个非空连续子序列,{al,al+1,,ara_l, a_{l+1}, …, a_r} (1lrN)(1 ≤ l ≤ r ≤ N)。其中有多少个子序列的算术平均数大于或等于 KK

约束条件

  • 所有输入值均为整数。
  • 1N2×1051 ≤ N ≤ 2 \times 10^5
  • 1K1091 ≤ K ≤ 10^9
  • 1ai1091 ≤ a_i ≤ 10^9

输入

输入以以下格式从标准输入中给出:

NN KK a1a_1 a2a_2 :: aNa_N

输出

打印算术平均数大于或等于 KK 的非空连续子序列的数量。

示例输入1

3 6
7
5
7

示例输出1

5

序列 aa 的所有非空连续子序列如下所示:

  • {a1a_1} = {77}
  • {a1,a2a_1, a_2} = {7,57, 5}
  • {a1,a2,a3a_1, a_2, a_3} = {7,5,77, 5, 7}
  • {a2a_2} = {55}
  • {a2,a3a_2, a_3} = {5,75, 7}
  • {a3a_3} = {77}

它们的平均值分别为 776619/319/3556677,其中有五个大于或等于 66。请注意,由于元素的值相同,{a1a_1} 和 {a3a_3} 在数值上无法区分,但我们将它们分别计算。

示例输入2

1 2
1

示例输出2

0

示例输入3

7 26
10
20
30
40
30
20
10

示例输出3

13