#WHX2024E. 区间记数(count)

区间记数(count)

问题描述

给定一个长度为 NN 的序列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N),以及一个整数 KK

有多少个 AA 的连续子序列的和为 KK

换句话说,有多少对整数 (l,r)(l,r) 满足以下所有条件?

  • 1lrN1\leq l\leq r\leq N
  • i=lrAi=K\displaystyle\sum_{i=l}^{r}A_i = K

输入格式

输入按照如下格式给出:

NN KK

A1A_1 A2A_2 \ldots ANA_N

输出格式

打印答案。

样例输入 1

6 5
8 -3 5 7 0 -4

样例输出 1

3

满足条件的三对 (l,r)(l,r) 分别为 (1,2),(3,3),(2,6)(1,2),(3,3),(2,6)

样例输入 2

2 -1000000000000000
1000000000 -1000000000

样例输出 2

0

可能没有满足条件的一对。

数据规模

对于 100%100 \% 的数据,满足:

  • 1N2×1051\leq N \leq 2\times 10^5
  • Ai109|A_i| \leq 10^9
  • K1015|K| \leq 10^{15}
  • 输入中的所有值都是整数,x|x| 表示 xx 的绝对值。

其中约 30%30\% 的数据满足 N5000N \le 5000