#HXOJ2887. 一维前缀和题六:收获香蕉(数据强化)

提交5 通过1
通过率20%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

到了收获的季节,香蕉园里有n棵香蕉树排成一列,树上分别结了a₁,a₂,…,aₙ个香蕉。

小珅只能收获相邻的连续若干棵香蕉树上的香蕉,且必须收获至少K个香蕉。但是小珅不满足于此,他想知道要收获至少K个香蕉,一共有多少种不同的收法。(只要起点终点不完全相同就认为是不同的收获方法)

请写程序帮他确定不同的收获方法数吧。

输入格式

输入共两行:

第1行,以空格分隔的两个正整数n,K,分别表示香蕉数树的棵数和小珅需要收获的香蕉个数。

第2行,以空格分隔的n个正整数a₁,a₂,…,aₙ,依次表示每棵树上的香蕉个数。

输出格式

输出共1行,1个正整数,为收获至少K个香蕉的不同方法数。

输入样例 #1

10 51235
10 4152 987 48541 412 51 2 88999 4000 44444

输出样例 #1

32

输入样例 #2

5 10
5 1 3 4 2

输出样例 #2

3

输入样例 #3

4 1
1 1 1 1

输出样例 #3

10

提示

【说明提示】

对于样例1:

共5棵香蕉树,需要收获至少10个香蕉,我们可以选择收获第1~4棵,可以得到5+1+3+4=13个香蕉;收获第1~5棵,可以得到5+1+3+4+2=15个香蕉;收获第2~5棵,可以得到1+3+4+2=10个香蕉。

仅有这33种收获方式可以从连续几棵树上收获不少于1010个香蕉,故输出为3。

数据范围与约定

对于100%的数据,1≤aᵢ≤10⁵;1≤n≤10⁵;1≤K≤10¹⁰