[CPP61 - Test 2] Bài 5: Đối thủ cân sức - Đếm số cặp cân sức


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Đối thủ cân sức - Đếm số cặp cân sức

Câu lạc bộ cờ vua có n kỳ thủ. Kỳ thủ thứ i có điểm xếp hạng Elo là a_i; các kỳ thủ có thể có Elo bằng nhau.

Hai kỳ thủ khác nhau i và j, với i < j, được gọi là cân sức nếu chênh lệch Elo của họ không vượt quá D, tức là |a_i - a_j| ≤ D.

Yêu cầu

Đếm số cặp kỳ thủ cân sức. Hai cặp được coi là khác nhau nếu tập hai chỉ số {i, j} khác nhau, kể cả khi Elo giống nhau.

Input

  • Dòng đầu chứa hai số nguyên n và D.
  • Dòng thứ hai chứa n số nguyên a_1, a_2, ..., a_n.

Output

In một số nguyên là số cặp kỳ thủ cân sức. In 0 nếu không có cặp nào.

Ràng buộc

  • 1 ≤ n ≤ 100000.
  • 0 ≤ D ≤ 10^9.
  • 1 ≤ a_i ≤ 10^9.

Nhóm test

  • Test 01-04 (40 điểm): n ≤ 2000.
  • Test 05-10 (60 điểm): ràng buộc đầy đủ.

Ví dụ 1

Input

7 200
1500 1200 1800 1500 1350 2000 1650

Output

8

Ví dụ 2

Input

4 0
5 5 5 7

Output

3

Giải thích

Ở ví dụ 1, sau khi sắp xếp có dãy 1200, 1350, 1500, 1500, 1650, 1800, 2000. Các cặp Elo cân sức là (1200, 1350), hai cặp (1350, 1500), (1500, 1500), hai cặp (1500, 1650), (1650, 1800), (1800, 2000), tổng cộng 8 cặp. Ở ví dụ 2, chọn hai trong ba kỳ thủ có Elo 5 được 3 cặp.


Comments

There are no comments at the moment.

Zalo