B. 统计和小于目标的下标对数目

内存限制:256 MiB 时间限制:1000 ms 输入文件: xbds.in 输出文件: xbds.out
题目类型:传统 评测方式:文本比较

题目描述

给你一个下标从 0 开始长度为 n 的整数数组 a 和一个整数 t ,请你返回满足 0 <= i < j < na[i] + a[j] < t 的下标对 (i, j) 的数目。

输入格式

第一行,n 和 t

第二行, 数组 a 的 n 个元素

输出格式

和小于目标t的下标对数目

样例

示例 1:

输入:

5 2
-1 1 2 3 1

输出:

3

解释:总共有 3 个下标对满足题目描述:

  • (0, 1) ,0 < 1 且 a[0] + a[1] = 0 < t
  • (0, 2) ,0 < 2 且 a[0] + a[2] = 1 < t
  • (0, 4) ,0 < 4 且 a[0] + a[4] = 0 < t

注意 (0, 3) 不计入答案因为 a[0] + a[3] 不是严格小于 t 。

示例 2:

输入:

7 -2
-6 2 5 -2 -7 -1 3

输出:

10

解释:总共有 10 个下标对满足题目描述:

  • (0, 1) ,0 < 1 且 a[0] + a[1] = -4 < t
  • (0, 3) ,0 < 3 且 a[0] + a[3] = -8 < t
  • (0, 4) ,0 < 4 且 a[0] + a[4] = -13 < t
  • (0, 5) ,0 < 5 且 a[0] + a[5] = -7 < t
  • (0, 6) ,0 < 6 且 a[0] + a[6] = -3 < t
  • (1, 4) ,1 < 4 且 a[1] + a[4] = -5 < t
  • (3, 4) ,3 < 4 且 a[3] + a[4] = -9 < t
  • (3, 5) ,3 < 5 且 a[3] + a[5] = -3 < t
  • (4, 5) ,4 < 5 且 a[4] + a[5] = -8 < t
  • (4, 6) ,4 < 6 且 a[4] + a[6] = -4 < t

数据范围与提示

60%数据:1 <= n <= 100,-100 <= a[i], t <= 100

100%数据:1 <= n <= 100000,-100000 <= a[i], t <= 100000