#LS1279. 【入门】2数之和

【入门】2数之和

题目背景

请大家分别用 二分双指针 通过本题

题目描述

给定一个长度为 nn 的数组 a 和整数 l,rl, r ,请你求出这样的数对 i,ji, j 的个数:

  • 0i,jn10 \le i, j \le n - 1
  • i<ji < j
  • la[i]+a[j]rl \le a[i] + a[j] \le r

输入格式

第一行包含 33 个整数 $n, l, r(2 \le n \le 10^5, -10^9 \le l \le r \le 10^9)$

第二行包含 nn 个整数,表示数组 a(109ai109)a(-10^9 \le a_i \le 10^9)

输出格式

输出 11 行包含 11 个数,表示答案

3 4 7
5 1 2
2
5 5 8
5 1 2 4 3
7
4 100 1000
1 1 1 1
0
5 9 13
2 5 5 1 1
1

提示

【样例 1 解释】

  • 选择 i=0,j=1(45+17)i = 0, j = 1(4 \le 5 + 1 \le 7)
  • 选择 i=0,j=2(45+27)i = 0, j = 2(4 \le 5 + 2 \le 7)

【数据范围】

对于所有测试数据,均有:

  • 2n1052 \le n \le 10^5
  • 109lr109-10^9 \le l \le r \le 10^9
  • 109a[i]109-10^9 \le a[i] \le 10^9
测试点编号 nn \le 特殊性质 分值
121 \sim 2 50005000 2020
363 \sim 6 10510^5 A 4040
7107 \sim 10
  • 特殊性质 A:保证 a 中任意 22 个数之和不超过 rr(你不用关心右边界)
请思考后再点击查看提示

来源