#ABC233D. [ABC233D] 计数区间(Count Interval)

    ID: 2742 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>ABC入门算法闯关STL与数据结构

[ABC233D] 计数区间(Count Interval)

题目描述

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

请计算有多少个连续子序列的和等于 KK。 换句话说,有多少对整数 (l,r)(l,r) 满足以下所有条件?

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

输入格式

输入从标准输入中给出,格式如下:

N N K K

A1 A_1 A2 A_2 \ldots AN A_N

输出格式

输出所求答案。

输入输出样例 #1

输入 #1

6 5
8 -3 5 7 0 -4

输出 #1

3

输入输出样例 #2

输入 #2

2 -1000000000000000
1000000000 -1000000000

输出 #2

0

说明/提示

样例 1 解释

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

样例 2 解释

可能没有满足条件的对。

数据范围

  • 1 N  2× 105 1\leq\ N\ \leq\ 2\times\ 10^5
  • Ai  109 |A_i|\ \leq\ 10^9
  • K  1015 |K|\ \leq\ 10^{15}
  • 所有输入均为整数。