Có n file đánh số 1, 2, ..., n. File thứ i có kích thước là ai. Cho trước một số đĩa mềm trắng, dung lượng của mỗi đĩa là M.
Yêu cầu: Hãy tìm cách ghi file lên các đĩa mềm sao cho số đĩa mềm phải dùng là ít nhất. (Tất nhiên mỗi đĩa không thể chứa quá dung lượng M và mỗi file phải nằm gọn trong một đĩa nào đó chứ không được cắt nhỏ và ghi vào nhiều đĩa khác nhau).
Ràng buộc: 1 ≤ n ≤ 100; các ai và M là các số nguyên dương: 1 ≤ ai ≤ M ≤ 10000. ∀i
Dữ liệu: Vào từ file văn bản DISKS.INP
. Dòng 1: Chứa 2 số n, M.
. Các dòng tiếp: Chứa các số từ a1 đến an theo đúng thứ tự đó.
Kết quả: Ghi ra file văn bản DISKS.OUT
. Dòng 1: Ghi số k là số đĩa phải dùng.
. Dòng thứ i trong k dòng tiếp theo: Ghi số hiệu của các file được ghi vào đĩa mềm thứ i.
Ví dụ:
DISKS.INP | DISKS.OUT |
8 14 9 7 4 3 3 2 8 6 |
3 1 4 6 7 8 2 3 5 |
ko hiểu gì luôn ???