AT_awc0004_e 区間の合計

题目描述

高桥有一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \ldots, A_N)$。每个元素 $A_i$ 可能是负数。 高桥想要从该序列中选出一个**连续子数组**,使其所有元素之和恰好等于整数 $K$,其中 $K$ 是目标和的值。请你计算有多少种选择这样的连续子数组的方法。 更具体地,计算满足下述条件的整数对 $(l, r)$ 的个数: $$A_l + A_{l+1} + \cdots + A_r = K$$ 其中 $1 \leq l \leq r \leq N$。

输入格式

> $N$ $K$ $A_1$ $A_2$ $ \cdots $ $A_N$ - 第一行包含两个整数 $N$ 和 $K$,用空格分隔,分别表示序列的长度和目标和的值。 - 第二行包含 $A_1, A_2, \ldots, A_N$,分别表示序列中的每个元素,元素之间用空格分隔。

输出格式

请输出满足条件的整数对 $(l, r)$ 的个数,输出在一行中。

说明/提示

### 数据范围 - $1 \leq N \leq 2 \times 10^5$ - $-10^9 \leq K \leq 10^9$ - $-10^9 \leq A_i \leq 10^9$ - 所有输入均为整数。 由 ChatGPT 5 翻译