Bộ nhớ cho mảng
Đề bài
Mô tả
Bộ nhớ của máy tính được xem như một dãy các ô nhớ. Một số ô đã chứa dữ liệu, một số còn trống. Các ô trống liên tiếp nhau tạo thành một cụm bộ nhớ: mỗi cụm là một đoạn gồm các ô trống liền kề.
Bạn có đúng cụm bộ nhớ, cụm thứ gồm ô. Bạn cần cấp phát bộ nhớ cho mảng. Mảng thứ chiếm đúng ô nhớ liên tiếp.
Mỗi mảng phải nằm gọn trong một cụm (không được trải qua hai cụm khác nhau), và không ô nhớ nào được dùng cho hai mảng cùng lúc. Có thể không đủ bộ nhớ cho tất cả các mảng.
Hãy xác định số lượng mảng tối đa có thể được cấp phát vào các cụm bộ nhớ hiện có.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên — kích thước các cụm.
- Dòng thứ ba chứa số nguyên — mảng thứ có kích thước .
Dữ liệu ra
In ra một số nguyên duy nhất — số mảng tối đa có thể cấp phát.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 10 6 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 |
6 | Có cụm kích thước và mảng kích thước . Chọn cụm bất kỳ để chứa cả mảng. |
| 5 3 8 4 3 2 2 3 2 2 |
2 | Các cụm có kích thước ; các mảng có kích thước . Có thể đặt mảng kích thước vào cụm và một mảng kích thước vào cụm , được mảng. Không thể đặt cả . |
Bình luận