#WHJ2025A. 和为K的个数(sum)

    ID: 4608 传统题 文件IO:sum 1000ms 256MiB 尝试: 209 已通过: 22 难度: 9 上传者: 标签>难度普及-时间2025来源威海市编程挑战赛

和为K的个数(sum)

问题描述

给定一个长度为 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

输入格式

第一行两个空格隔开的整数 NNKK

接下来的一行,空格隔开的 NN 个整数表示序列 AA 中的各个元素。

输出格式

输出一行一个整数表示答案。

样例输入 1

6 5
8 -3 5 7 0 -4

样例输出 1

3

(l,r)=(1,2),(3,3),(2,6)(l,r)=(1,2),(3,3),(2,6) 是满足条件的三对整数。

样例输入 2

2 -1000000000000000
1000000000 -1000000000

样例输出 2

0

可能没有满足条件的整数对。

数据规模

100%的数据:

  • 1N2×1051\leq N \leq 2\times 10^5

  • Ai109|A_i| \leq 10^9

  • K1015|K| \leq 10^{15}

其中约30%的数据 1N50001 \le N \le 5000

}