137. 华为OD-数组连续和(100分)

难度 6
  • 标签:
  • 华为OD真题100分题型
题目描述
题解
题库

华为OD-数组连续和(100分)

题目描述

给定一个含有 NN 个正整数的数组,求出有多少连续区间(包括单个正整数),它们的和大于等于 xx

输入描述

第一行为两个整数 NN, xx。(0<N1000000 < N \leq 100000, 0x100000000 \leq x \leq 10000000

第二行有 NN 个正整数(每个正整数小于等于 100100)。

输出描述

输出一个整数,表示所求的个数。

注意:此题对效率有要求,暴力解法通过率不高,请考虑高效的实现方式。

样例1

输入

3 7
3 4 7

输出

4

说明:第一行的 33 表示第二行数组输入 33 个数,第一行的 77 是比较数,用于判断连续数组是否大于该数;组合为 3+43+4; 3+4+73+4+7, 4+74+7, 77;都大于等于指定的 77;所以共四组。

样例2

输入

10 10000
1 2 3 4 5 6 7 8 9 10

输出

0

说明:所有元素的和小于 1000010000,所以返回 00