#5801. CSES1660 子数组和 I

0

CSES1660 子数组和 I

#CS1660. 子数组和 I

子数组和 I

题目背景

翻译自 CSES-1660 题。

题目描述

给定一个由 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,1≤x,ai≤1091 \le n \le 2\cdot 10^5,1 \leq x,a_i \le 10^91≤n≤2⋅105,1≤x,ai​≤109。