CF BUDDY
← Problems·

1538C · Number of Pairs

1300 · binary search, data structures, math

Problem: You are given an array aa of nn integers. Find the number of pairs (i,j)(i, j) (1i<jn1 \le i < j \le n) where the sum of ai+aja_i + a_j is greater than or equal to ll and less than or equal to rr (that is, lai+ajrl \le a_i + a_j \le r).

For example, if n=3n = 3, a=[5,1,2]a = [5, 1, 2], l=4l = 4 and r=7r = 7, then two pairs are suitable:

  • i=1i=1 and j=2j=2 (45+174 \le 5 + 1 \le 7);
  • i=1i=1 and j=3j=3 (45+274 \le 5 + 2 \le 7).

Input Format: The first line contains an integer tt (1t1041 \le t \le 10^4). Then tt test cases follow.

The first line of each test case contains three integers n,l,rn, l, r (1n21051 \le n \le 2 \cdot 10^5, 1lr1091 \le l \le r \le 10^9) — the length of the array and the limits on the sum in the pair.

The second line contains nn integers a1,a2,,ana_1, a_2, \ldots, a_n (1ai1091 \le a_i \le 10^9).

It is guaranteed that the sum of nn overall test cases does not exceed 21052 \cdot 10^5.

Output Format: For each test case, output a single integer — the number of index pairs (i,j)(i, j) (i<ji < j), such that lai+ajrl \le a_i + a_j \le r.

Sample Cases

Case 1

Input

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

Output

2
7
0
1

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback