100 atcoder#ABC130D. [ABC130D] Enough Array

[ABC130D] Enough Array

题目描述

長さ N N の正整数列 A=a1,a2,,aN A=a_1,a_2,…,a_{N} と整数 K K が与えられます。A A の連続する部分列であって、以下の条件を満たすようなものは何個あるでしょうか。

  • (条件) 連続部分列に含まれる全ての要素の値の和は、K K 以上である。

ただし、ある二つの連続部分列が列として同じでも、取り出された位置が異なるならそれらは別々に数えるものとします。

出力が 32bit 32bit 整数型に収まらない場合があることに注意してください。

输入格式

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

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

输出格式

条件を満たすような連続部分列の個数を出力してください。

题目大意

给出 nn 个数,问这些数中有多少个连续子序列的和大于等于 kk

4 10
6 1 2 7
2
3 5
3 3 3
3
10 53462
103 35322 232 342 21099 90000 18843 9010 35221 19352
36

提示

制約

  • 1  ai  105 1\ \leqq\ a_i\ \leqq\ 10^5
  • 1  N  105 1\ \leqq\ N\ \leqq\ 10^5
  • 1  K  1010 1\ \leqq\ K\ \leqq\ 10^{10}

Sample Explanation 1

- A[1..4]=a1,a2,a3,a4 A[1..4]=a_1,a_2,a_3,a_4 (要素の値の和は 16 16 ) - A[2..4]=a2,a3,a4 A[2..4]=a_2,a_3,a_4 (要素の値の和は 10 10 ) の二通りです。

Sample Explanation 2

ある二つの連続部分列が列として同じでも、取り出された位置が異なるならそれらは別々に数えることに注意してください。