/ Vijos / 题库 /

小H与序列

小H与序列

时间限制:1秒  内存限制:256M


【题目描述】

  小H最近得到了一个长度为 \(n\) 的序列 \(a\) ,现在他想知道:序列中有多少个非空连续子序列的和小于给定的 \(t\)?。

  也就是说,他需要计算满足 \(a_l+a_l+1+...+a_r < t\) 的序列下标对 \((l, r)\) 的数量,其中 \(1≤ l ≤ r ≤ n\) 。

  请你帮助小H解决这个问题。

【输入格式】

  第一行包含两个整数 \(n\) 和 \(t\) 。
  第二行包含 \(n\) 个整数 \(a_1, a_2, ..., a_n\)。

【输出格式】

  输出一个整数,表示满足条件的非空连续子序列的数量。

【输入输出样例】

 Input

5 4
5 -1 3 4 -1

 Output

5

【样例解释】

  满足条件的子序列为:
  · [2, 2],和为 -1
  · [2, 3],和为 2
  · [3, 3],和为 3
  · [4, 5],和为 3
  · [5, 5],和为 -1

【数据限制】

  测试点 \(1-2\):\(n≤10000\),\(0 ≤ |a_i| ≤ 10^2\),\(0 ≤ |t| ≤ 10^5\)。
  测试点 \(3−4\):\(n≤50000\),\(0 ≤ |a_i| ≤ 10^2\),\(0 ≤ |t| ≤ 10^5\)。
  测试点 \(5−6\):\(n≤200000\),\(0 ≤ |a_i| ≤ 10^9\),\(0 ≤ |t| ≤ 2⋅10^{14}\)。

【来源】

  Mr.he**

信息

ID
3162
难度
9
分类
数据结构 | 线段树平衡树树状数组 点击显示
标签
(无)
递交数
3
已通过
1
通过率
33%
被复制
1
上传者