[Buổi 18][Củng cố STL][RDD] Bài 4: Chọn kim cương


LÀM BÀI

Points: 30
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Chọn kim cương

Bối cảnh

Linh, phu nhân thống đốc bang Fullhouse Dev, luôn là một fan của những vật phẩm lấp lánh, đã bắt đầu sở thích đào mỏ kim cương trong thời gian rảnh rỗi của mình! Bà đã thu thập N viên kim cương \((N≤50,000)\) có kích thước khác nhau, và bà muốn sắp xếp một số trong số chúng vào hai tủ trưng bày trong dinh thự.

Yêu cầu

Vì Linh muốn các viên kim cương trong mỗi tủ được trưng bày tương đối giống nhau về kích thước, bà quyết định không bao gồm hai viên kim cương trong cùng một tủ nếu kích thước của chúng chênh lệch hơn \(K\) (hai viên kim cương có thể được trưng bày cùng nhau trong cùng một tủ nếu kích thước của chúng chênh lệch đúng \(K\)).

Cho biết \(K\), hãy giúp Linh xác định số lượng kim cương tối đa mà bà có thể trưng bày trong cả hai tủ.

Input

Dòng đầu tiên chứa \(N\) và \(K\) \((0≤K≤1,000,000,000)\).

\(N\) dòng tiếp theo mỗi dòng chứa một số nguyên cho biết kích thước của một viên kim cương. Tất cả các kích thước đều là dương và sẽ không vượt quá \(1,000,000,000\).

Output

Xuất ra một số nguyên dương duy nhất, cho biết số lượng viên kim cương tối đa mà Linh có thể trưng bày tổng cộng trong cả hai tủ.

Ràng buộc

Đề gốc không nêu ràng buộc riêng.

Ví dụ 1

Input

7 3
10
5
1
12
9
5
14

Output

5

Giải thích ví dụ

  • Ví dụ 1:
    • Dữ liệu: 7 3, 10 5 1 12 9 5 14
    • Giải thích: Để tối đa hóa số viên kim cương, ta sắp xếp các viên kim cương và chia chúng thành hai tủ sao cho kích thước chênh lệch không vượt quá K=3. Kết quả là có thể trưng bày tổng cộng 5 viên kim cương.

Thông tin học tập

  • Buổi: B18
  • Concepts: STL arrays, advanced array techniques, optional advanced topics
  • Giới hạn kiến thức: B01-B18
  • Time limit: 1 second
  • Memory limit: 20 MB
  • Point: 30

Comments

There are no comments at the moment.

Zalo