#5802. CSES1661 子数组和 II

0

CSES1661 子数组和 II

#CS1661. 子数组和 II

子数组和 II

题目背景

翻译自 CSES-1661 题。

题目描述

给定一个由 n 个整数构成的数组,你的任务是计算数组中和为 x 的子数组的个数。

本题中子数组定义为:任意给定一个数组下标 l,r(1≤l≤r≤n)l,r(1\le l\le r\le n)l,r(1≤l≤r≤n),得到的区间 [l,r][l,r][l,r] 中的数组元素 al,al+1,⋯ ,ara_{l},a_{l+1},\cdots,a_ral​,al+1​,⋯,ar​。即可以理解成连续子序列。

输入格式

第一行输入两个整数 n 和 x,分别代表数组的大小和目标和 x。

第二行输入 n 个整数 a1,a2,...,ana_1, a_2, ..., a_na1​,a2​,...,an​,代表数组的值。

输出格式

输出一个整数,表示和为 x 的子数组的个数。

样例

5 7
2 4 1 2 7
3

说明/提示

1≤n≤2⋅105,−109≤x,ai≤1091 \le n \le 2\cdot 10^5,-10^9 \leq x,a_i \le 10^91≤n≤2⋅105,−109≤x,ai​≤109。