atcoder#ARC075C. [ARC075E] Meaningful Mean

[ARC075E] Meaningful Mean

题目描述

長さ N N の整数列 a = a\ = {a1, a2, , aN a_1,\ a_2,\ …,\ a_N } と、整数 K K が与えられます。

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

输入格式

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

N N K K a1 a_1 a2 a_2 : : aN a_N

输出格式

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

题目大意

题目大意: 给一个长度为N的整数序列{a},对于其一共N*(N+1)/2个的非空区间,求有多少个区间的平均数大于等于K。

输入格式: 第一行两个数字分别为 N K 接下来N行 每行一个数字表示a[i]

输出格式: 输出一个整数 代表有多少个区间的平均数大于等于K

数据范围: 输入的全部为整数

1 ≤ N ≤ 2×10^5

1 ≤ K ≤ 10^9

1 ≤ a[i] ≤ 10^9

3 6
7
5
7
5
1 2
1
0
7 26
10
20
30
40
30
20
10
13

提示

制約

  • 入力値はすべて整数である。
  • 1 < = N < = 2 × 105 1\ <\ =\ N\ <\ =\ 2\ \times\ 10^5
  • 1 < = K < = 109 1\ <\ =\ K\ <\ =\ 10^9
  • 1 < = ai < = 109 1\ <\ =\ a_i\ <\ =\ 10^9

Sample Explanation 1

以下に、a a のすべての空でない連続する部分列を示します。 - {a1 a_1 } = {7 7 } - {a1, a2 a_1,\ a_2 } = {7, 5 7,\ 5 } - {a1, a2, a3 a_1,\ a_2,\ a_3 } = {7, 5, 7 7,\ 5,\ 7 } - {a2 a_2 } = {5 5 } - {a2, a3 a_2,\ a_3 } = {5, 7 5,\ 7 } - {a3 a_3 } = {7 7 } これらの平均はそれぞれ 7 7 , 6 6 , 19/3 19/3 , 5 5 , 6 6 , 7 7 であり、このうち 6 6 以上であるものは 5 5 個です。なお、{a1 a_1 } と {a3 a_3 } は含まれる要素の値では区別できませんが、これらは個別に数えます。