[Hà Nội - HSG9 - 2015] Câu 2: Chia nhóm

Xem dạng PDF

Gửi bài giải

Điểm: 800,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: CAU2.INP
Output: CAU2.OUT

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho ~n~ số nguyên ~a_1, a_2, ..., a_n~. Người ta muốn chia ~n~ số nguyên này thành các nhóm, trong mỗi nhóm hiệu của số lớn nhất và số nhỏ không vượt quá số nguyên dương ~h~ cho trước.

Yêu cầu: Xác định số lượng nhóm ít nhất khi chia nhóm ~n~ số nguyên đã cho thỏa mãn điều kiện trên.

Input

Vào từ file văn bản CAU2.INP:

  • Dòng đầu chứa hai số nguyên dương ~n~ và ~h~, ~n \leq 1000, h \leq 1000000000~;
  • Trong ~n~ dòng tiếp theo, dòng thứ ~i~ (~1 \leq i \leq n~) chứa số nguyên ~a_i~, có giá trị tuyệt đối không vượt quá ~10^9~.

Output

Ghi ra file văn bản CAU2.OUT số lượng nhóm ít nhất tìm được.

Example input 1

6 3
-7
27
-5
26
28
-6

Example output 1

2

Note 1

  • Có thể chia 6 số đã cho thành hai nhóm:

    • Nhóm thứ nhất các số thứ 1, thứ 3, thứ 6 và nhóm thứ 2 là các số còn lại.
    • Hai nhóm này đều có hiệu của số lớn nhất và số nhỏ nhất là 2 nhỏ hơn 3.

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.