atcoder#ARC075C. [ARC075E] Meaningful Mean

[ARC075E] Meaningful Mean

配点 : 600600

問題文

長さ NN の整数列 a=a = {a1,a2,,aNa_1, a_2, \cdots , a_N} と、整数 KK が与えられます。

aa の空でない連続する部分列 {al,al+1,,ara_l, a_{l+1}, \cdots , a_r} (1lrN)(1 \leq l \leq r \leq N)N(N+1)/2N(N+1)/2 個存在します。これらのうち、算術平均が KK 以上であるものは何個あるでしょうか?

制約

  • 入力値はすべて整数である。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1K1091 \leq K \leq 10^9
  • 1ai1091 \leq a_i \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN KK

a1a_1

a2a_2

::

aNa_N

出力

aa の空でない連続する部分列のうち、算術平均が KK 以上であるものの個数を出力せよ。

3 6
7
5
7
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}

これらの平均はそれぞれ 77, 66, 19/319/3, 55, 66, 77 であり、このうち 66 以上であるものは 55 個です。なお、{a1a_1} と {a3a_3} は含まれる要素の値では区別できませんが、これらは個別に数えます。

1 2
1
0
7 26
10
20
30
40
30
20
10
13