#J20002. 区间和等于x的子数组个数

区间和等于x的子数组个数

问题描述

给定一个长度为 nn 的整数序列 a1,a2,,ana_1, a_2, \ldots, a_n 和一个目标值 xx

请你统计序列中有多少个连续子序列(即 al,al+1,,ara_l, a_{l+1}, \ldots, a_r1lrn1 \le l \le r \le n)的元素之和恰好等于 xx

输入格式

第一行包含两个整数 nnxx

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n,相邻两个数之间用一个空格分隔。

输出格式

一个整数,即和恰好等于 xx 的连续子序列个数。

样例输入 1

5 7
1 2 3 4 5

样例输出 1

1

说明a3+a4=3+4=7a_3 + a_4 = 3 + 4 = 7 是唯一满足条件的连续子序列。

样例输入 2

3 0
0 0 0

样例输出 2

6

说明:长度为 11 的子序列有 33 个(每个 0 单独),长度为 22 的有 22 个([1,2][1,2][2,3][2,3]),长度为 33 的有 11 个([1,3][1,3]),共 66 个。

样例输入 3

4 10
-1 2 3 6

样例输出 3

1

说明a1+a2+a3+a4=1+2+3+6=10a_1 + a_2 + a_3 + a_4 = -1 + 2 + 3 + 6 = 10答案为 11(整个序列)。

评测数据规模

对于所有数据,保证 1n2×1051 \le n \le 2 \times 10^5x109|x| \le 10^9ai1000|a_i| \le 1000