[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