#BS0000022. Rót đầy các thùng chứa (Fill the Containers)
Rót đầy các thùng chứa (Fill the Containers)
Rót đầy các thùng chứa (Fill the Containers)
Nguồn: UVa
Phiên bản: Phước Hưng OJ Extended
Đề bài
Có bình sữa xuất hiện theo thứ tự trên băng chuyền. Bình thứ chứa đúng đơn vị sữa.
Toàn bộ sữa của một bình phải được rót nguyên vào đúng một thùng; không được chia sữa của cùng một bình cho nhiều thùng.
Đánh số các thùng từ đến . Thứ tự trên băng chuyền phải được bảo toàn: nếu bình xuất hiện trước bình và chúng được rót lần lượt vào thùng và thùng , thì phải có
Vì vậy, các bình được rót vào mỗi thùng tạo thành một đoạn liên tiếp của dãy ban đầu. Một số thùng có thể không được dùng.
Các thùng không bắt buộc có cùng dung tích. Ta được quyền chọn dung tích riêng cho từng thùng. Sau khi chuyển hết sữa, xét dung tích lớn nhất trong các thùng đã dùng. Hãy tìm giá trị nhỏ nhất có thể của dung tích lớn nhất đó.
Tương đương, hãy tìm số nhỏ nhất sao cho có thể chuyển hết sữa theo đúng thứ tự vào không quá thùng và tổng lượng sữa trong mỗi thùng không vượt quá .
Input
Dòng đầu chứa . Dòng sau chứa .
Output
In giá trị nhỏ nhất có thể của dung tích lớn nhất trong các thùng.
Subtask
- Subtask 1 — 20%: hoặc .
- Subtask 2 — 30%: .
- Subtask 3 — 50%: , , .
Ví dụ
Input
5 3
1 2 3 4 5
Output
6
Giải thích
Có thể rót các nhóm , , vào ba thùng. Dung tích lớn nhất là và không thể giảm hơn.