Một băng chuyền cảng cần chuyển n kiện hàng có khối lượng w1,w2,…,wn trong vòng D ngày. Mỗi ngày, một con tàu có sức chứa cố định C sẽ chở các kiện theo đúng thứ tự đã cho, sao cho tổng khối lượng các kiện chở trong ngày không vượt quá C.
Hãy tìm sức chứa C nhỏ nhất sao cho có thể chuyển hết toàn bộ kiện hàng trong tối đa D ngày.
Yêu cầu: dùng tìm kiếm nhị phân trên đáp án (một dạng chia để trị) — nhị phân giá trị C, với mỗi C kiểm tra (tham lam) số ngày cần dùng — để giải trong O(nlog(∑wi)).
Ví dụ: w=[1,2,3,4,5,6,7,8,9,10], D=5, sức chứa nhỏ nhất là 15.
Dòng đầu chứa hai số nguyên n và D cách nhau bởi dấu cách. Dòng thứ hai chứa n số nguyên dương w1,…,wn — khối lượng các kiện, cách nhau bởi dấu cách.
1≤D≤n≤105, 1≤wi≤104.
In ra một số nguyên là sức chứa nhỏ nhất để chuyển hết hàng trong tối đa D ngày.
Ví dụ:
Đầu vào:
10 5
1 2 3 4 5 6 7 8 9 10
Đầu ra:
15
Giải thích:
Đang tải editor...