Cho số nguyên N và một dãy số nguyên a1,
a2, …, aN. Nhiệm vụ của bạn là phải cắt dãy số trên
thành một số dãy số (giữ nguyên thứ tự) thỏa mãn:
·
Tổng
của mỗi dãy số không lớn hơn số nguyên M.
·
Tổng
của các số lớn nhất trong các dãy trên là nhỏ nhất.
Input:
·
Dòng đầu gồm 2 số nguyên N và M. (1 ≤ N ≤ 105; M < 263)
·
Dòng thứ hai gồm N số nguyên của dãy a1, a2, …, aN.(0 ≤ ai ≤ 106)
Output:Gồm một số
duy nhất là tổng của các số lớn nhất trong các dãy số trên. Nếu không có cách
cắt nào thỏa mãn hai điều kiện trên, in ra -1.
Input |
Output |
Giải thích |
8 17 2 2 2 8 1 8 2 1 |
12 |
Cắt thành 3 dãy 2 2
2, 8 1 8, 2 1 |
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.