问题描述
给定一个长度为 N 的序列 A=(A1,A2,…,AN),以及一个整数 K。
有多少个 A 的连续子序列的和为 K?
换句话说,有多少对整数 (l,r) 满足以下所有条件?
- 1≤l≤r≤N
- i=l∑rAi=K
输入格式
输入按照如下格式给出:
N K
A1 A2 … AN
输出格式
打印答案。
样例输入 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
- 输入中的所有值都是整数,∣x∣ 表示 x 的绝对值。
其中约 30% 的数据满足 N≤5000。