200752: [AtCoder]ARC075 E - Meaningful Mean

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $600$ points

Problem Statement

You are given an integer sequence of length $N$, $a =$ {$a_1, a_2, …, a_N$}, and an integer $K$.

$a$ has $N(N+1)/2$ non-empty contiguous subsequences, {$a_l, a_{l+1}, …, a_r$} $(1 ≤ l ≤ r ≤ N)$. Among them, how many have an arithmetic mean that is greater than or equal to $K$?

Constraints

  • All input values are integers.
  • $1 ≤ N ≤ 2 \times 10^5$
  • $1 ≤ K ≤ 10^9$
  • $1 ≤ a_i ≤ 10^9$

Input

Input is given from Standard Input in the following format:

$N$ $K$
$a_1$
$a_2$
$:$
$a_N$

Output

Print the number of the non-empty contiguous subsequences with an arithmetic mean that is greater than or equal to $K$.


Sample Input 1

3 6
7
5
7

Sample Output 1

5

All the non-empty contiguous subsequences of $a$ are listed below:

  • {$a_1$} = {$7$}
  • {$a_1, a_2$} = {$7, 5$}
  • {$a_1, a_2, a_3$} = {$7, 5, 7$}
  • {$a_2$} = {$5$}
  • {$a_2, a_3$} = {$5, 7$}
  • {$a_3$} = {$7$}

Their means are $7$, $6$, $19/3$, $5$, $6$ and $7$, respectively, and five among them are $6$ or greater. Note that {$a_1$} and {$a_3$} are indistinguishable by the values of their elements, but we count them individually.


Sample Input 2

1 2
1

Sample Output 2

0

Sample Input 3

7 26
10
20
30
40
30
20
10

Sample Output 3

13

Input

题意翻译

**题目大意:** 给一个长度为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

加入题单

上一题 下一题 算法标签: