#J00242. T2 合法子段(window)

0

T2 合法子段(window)

T2 合法子段(window)

题目描述

给定一个长度为 nn 的正整数序列 a1,a2,…,ana_1,a_2,\dots,a_n(从 11 开始编号)和一个上界 SS。我们称一个连续子段 al,al+1,…,ara_l,a_{l+1},\dots,a_r(1≤l≤r≤n1\le l\le r\le n)是合法的,当且仅当

∑i=lrai≤S.\sum_{i=l}^{r} a_i \le S.

请你统计该序列中一共有多少个合法的连续子段。

输入文件 window.in,输出文件 window.out。

输入格式

输入共两行。

第一行包含两个正整数 n,Sn,S,分别表示序列长度与和的上界。

第二行包含 nn 个正整数 a1,a2,…,ana_1,a_2,\dots,a_n。

输出格式

输出共一行,包含一个整数,表示合法连续子段的数量。

样例 1 输入

5 8
1 3 2 5 4

样例 1 输出

9

样例 1 解释

所有和不超过 88 的连续子段为:

[1][1]、[1,3][1,3]、[1,3,2][1,3,2]、[3][3]、[3,2][3,2]、[2][2]、[2,5][2,5]、[5][5]、[4][4],共 99 个。

例如 [5,4][5,4] 的和为 9>89>8,不合法。

样例 2 输入

10 20
1400 8353 3947 940 230 9936 6271 6156 2775 5926

样例 2 输出

0

样例 2 解释

最小的元素也已经是 230>20230>20,因此没有任何非空连续子段的和不超过 SS。

数据规模与约定

  • 对于 30%30\% 的数据,保证 n≤1000n\le 1000。
  • 对于另 30%30\% 的数据,保证 n≤105n\le 10^5。
  • 对于 100%100\% 的数据,保证 1≤n≤2×1051\le n\le 2\times 10^5,1≤ai≤1041\le a_i\le 10^4,1≤S≤1091\le S\le 10^9。