[HSG_DB_25] Đếm cặp

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Nam rất thích dãy những con số, đặc biệt dãy số nguyên dương. Cậu tò mò muốn biết sau khi dãy đã sắp xếp tăng dần thì có bao nhiêu cặp chỉ số ~(i, j)~ với ~1 \le i < j \le N~ sao cho ~a[j] - a[i] \le K~.

Yêu cầu

Hãy giúp Nam tính số lượng các cặp ~(i, j)~ thỏa mãn điều kiện trên.

Dữ liệu đầu vào

Gồm ~2 \times T + 1~ dòng:

  • Dòng đầu tiên chứa số nguyên ~T~ là số bộ dữ liệu kiểm tra ~(1 \le T \le 60)~.
  • Mỗi bộ dữ liệu gồm:
    1. Dòng đầu chứa hai số nguyên ~N~ và ~K~ ~(1 \le N \le 10^5; 0 \le K \le 10^9)~.
    2. Dòng thứ hai chứa ~N~ số nguyên dương ~a_1, a_2, \ldots, a_n~ ~(1 \le a_i \le 10^9)~.

Dữ liệu đầu ra

Gồm ~T~ dòng, với mỗi bộ dữ liệu, in ra số lượng cặp ~(i, j)~ thỏa mãn điều kiện của bài toán.

Ràng buộc dữ liệu

  • Có 50% số test ứng với 50% số điểm của câu: ~1 \le T \le 40; 1 \le N \le 10^3~;
  • Có 30% test khác ứng với 30% số điểm của câu: ~1 \le T \le 10; 10^3 < N \le 10^4~;
  • Có 20% test còn lại ứng với 20% số điểm của câu: ~1 \le T \le 10; 10^4 < N \le 10^5~.

Ví dụ

Ví dụ 1
INPUT
2
5 2
1 5 3 4 2
4 1
1 2 2 3
OUTPUT
7
5

Giải thích:

  • Bộ dữ liệu ~1~: Sau sắp xếp tăng dần: ~\{1, 2, 3, 4, 5\}~; Có các cặp chỉ số ~(1,2), (1,3), (2,3), (2,4), (3,4), (3,5), (4,5)~ thỏa mãn ~\rightarrow~ tổng ~= 7~.
  • Bộ dữ liệu ~2~: Các cặp chỉ số ~(1,2), (1,3), (2,3), (2,4), (3,4)~ thỏa mãn ~\rightarrow~ tổng ~= 5~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.