问题描述
给定一个长度为 N 的序列:A=(A1,A2,…,AN),以及一个整数 K。
求 A 中有多少个连续子序列的和为 K?换句话说,有多少对整数 (l,r) 满足以下所有条件?
- 1≤l≤r≤N
- i=l∑rAi=K
输入格式
第一行两个空格隔开的整数 N 和 K;
接下来的一行,空格隔开的 N 个整数表示序列 A 中的各个元素。
输出格式
输出一行一个整数表示答案。
样例输入 1
6 5
8 -3 5 7 0 -4
样例输出 1
3
(l,r)=(1,2),(3,3),(2,6) 是满足条件的三对整数。
样例输入 2
2 -1000000000000000
1000000000 -1000000000
样例输出 2
0
可能没有满足条件的整数对。
数据规模
100%的数据:
-
1≤N≤2×105
-
∣Ai∣≤109
-
∣K∣≤1015
其中约30%的数据 1≤N≤5000。