#P6694. 求和为C

求和为C

题目描述

给出 NN 个正整数和一个整数 CC,要求在这 NN 个整数中找一段连续的数,使得它们的和恰好等于 CC,问这样的方案有多少种?

例如:N=8N=8C=7C=788 个整数是 2,5,1,1,2,4,7,12, 5, 1, 1, 2, 4, 7, 1。答案是 33。具体方案:(2,5)(2, 5)(5,1,1)(5,1,1)(1,2,4)(1,2,4)

输入格式

第一行包含两个正整数 NNCC,用空格隔开。
第二行包含 NN 个正整数,用空格隔开。

输出格式

一个整数,表示满足条件的连续子段个数。

样例

4 5
1 4 1 4
3

样例解释
数组为 [1,4,1,4][1, 4, 1, 4]C=5C=5。连续子段和为 55 的方案有 33 种:

  • 位置 121\sim 21+4=51+4=5
  • 位置 232\sim 34+1=54+1=5
  • 位置 343\sim 41+4=51+4=5

数据规模与提示

  • 1N1061 \le N \le 10^6
  • 1C1091 \le C \le 10^9
  • 数组元素均为正整数,且在 int 范围内