Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
BINPACK - Binpacking |
Một xí nghiệp có một robot dùng để xếp các sản phẩm vào các thùng. Mọi thùng đều có dung tích như nhau. Có đúng hai thùng đang mở sẵn để robot xếp các sản phẩm vào. Mỗi thùng bất kỳ đều chứa được số sản phẩm mà tổng dung tích của chúng không vượt quá dung tích của thùng. Robot có thể thực hiện các thao tác sau:
- Đưa một sản phẩm hiện tại trên dãy băng vào thùng 1.
- Đưa một sản phẩm hiện tại trên dãy băng vào thùng 2.
- Đóng thùng 1 và mở một thùng mới thay thế cho thùng 1.
- Đóng thùng 2 và mở một thùng mới thay thế cho thùng 2.
Các thao tác 1, 2 chỉ có thể thực hiện nếu tổng dung tích của sản phẩm cho vào và các sản phẩm đã có trong thùng không vượt quá dung tích của thùng.
Yêu cầu: Cho biết dung tích mỗi thùng là L, dung tích của N sản phẩm trên dãy băng theo thứ tự xuất hiện là a1, a2,..., aN , hãy tìm số thùng ít nhất để có thể cho N sản phẩm vào thùng.
Input
- Dòng thứ nhất là hai số nguyên dương L và N
- Dòng tiếp theo chứa các số mô tả các số a1, a2, …,aN (1 ≤ ai ≤ L)
Output
- Gồm 1 số duy nhất là số thùng ít nhất cần dùng
Example
Input:8 6
Output: 3
4 2 5 3 5 4
Subtask 1 : (5 test - 1s / 1 test)
L ≤ 109 và N ≤ 20
Subtask 2 : (5 test - 2s / 1 test)
1 ≤ ai ≤ 2; L = 100 và N ≤ 106
Subtask 3 : (5 test - 3s / 1 test)
L ≤ 30 và N ≤ 10000
Subtask 4 : (5 test - 3s / 1 test)
L ≤ 5000 và N ≤ 100
Subtask 5 : (5 test - 4s / 1 test)
L ≤ 5000 và N ≤ 10000
Được gửi lên bởi: | Quan To |
Ngày: | 2011-10-06 |
Thời gian chạy: | 0.200s-0.800s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED |
Nguồn bài: | Thầy Đỗ Đức Đông |
hide comments
|
|||||
2011-10-13 15:09:01 rock
bạn nào giải thích test vd giúp mình, mình nghõ ra 4 chứ. |