#CT00021. Ghép đội (Team Pairing)

Ghép đội (Team Pairing)

Ghép đội (Team Pairing)

Phiên bản: Phước Hưng OJ

Đề bài

Có NN học sinh. Học sinh thứ ii có mức năng lực AiA_i. Mỗi đội gồm đúng hai học sinh khác nhau. Hai học sinh ii và jj có thể lập thành một đội nếu

∣Ai−Aj∣≤D.|A_i-A_j|\le D.

Mỗi học sinh được tham gia nhiều nhất một đội. Hãy tìm số đội nhiều nhất có thể lập.

Input

  • Dòng đầu chứa hai số nguyên NN và DD.
  • Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1,A_2,\ldots,A_N.

Output

In ra một số nguyên duy nhất là số đội lớn nhất có thể lập.

Subtask

  • Subtask 1 (40%): 1≤N≤201\le N\le 20, 0≤D≤1090\le D\le 10^9, ∣Ai∣≤109|A_i|\le 10^9.
  • Subtask 2 (30%): 1≤N≤20001\le N\le 2000, 0≤D≤1090\le D\le 10^9, ∣Ai∣≤109|A_i|\le 10^9.
  • Subtask 3 (30%): 1≤N≤2×1051\le N\le 2\times10^5, 0≤D≤1090\le D\le 10^9, ∣Ai∣≤109|A_i|\le 10^9.

Ví dụ

Ví dụ 1

Input

7 2
1 3 4 8 9 10 15

Output

2

Giải thích

Có thể tạo hai đội từ các cặp mức năng lực (1,3)(1,3) và (8,9)(8,9). Không thể tạo được 33 đội.

Ví dụ 2

Input

6 0
5 5 5 1 1 2

Output

2

Giải thích

Với D=0D=0, chỉ các học sinh có mức năng lực bằng nhau mới có thể ghép. Có thể tạo một đội từ hai học sinh có năng lực 55 và một đội từ hai học sinh có năng lực 11.