Luyện tập của Polycarp
Đề bài
Mô tả
Polycarp có một danh sách gồm bài tập với độ khó lần lượt là . Anh dự định luyện tập trong đúng ngày. Mỗi ngày anh phải giải ít nhất một bài, giải các bài theo đúng thứ tự trong danh sách, không được bỏ qua bài nào và không giải lại bài đã giải. Như vậy, mỗi ngày Polycarp giải một đoạn liên tiếp các bài, và sau ngày anh giải hết toàn bộ bài.
Lợi ích của ngày thứ là độ khó lớn nhất trong số các bài giải ngày hôm đó: nếu ngày đó anh giải các bài từ vị trí đến thì lợi ích là . Tổng lợi ích là tổng lợi ích của cả ngày.
Hãy phân chia toàn bộ bài thành ngày sao cho tổng lợi ích là lớn nhất.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và () là số bài tập và số ngày.
- Dòng thứ hai chứa số nguyên () là độ khó các bài tập theo thứ tự.
Dữ liệu ra
- Dòng đầu in ra tổng lợi ích lớn nhất.
- Dòng thứ hai in ra đúng số nguyên dương (với ), trong đó là số bài Polycarp giải trong ngày thứ để đạt được tổng lợi ích lớn nhất đó.
Nếu có nhiều cách phân chia cho cùng tổng lợi ích lớn nhất, in ra một cách bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 3 5 4 2 6 5 1 9 2 |
20 1 3 4 |
Chia thành [5], [4, 2, 6], [5, 1, 9, 2]. Tổng lợi ích . Đây chỉ là một trong nhiều cách cho cùng tổng lớn nhất. |
| 5 1 1 1 1 1 1 |
1 5 |
Chỉ có một ngày nên phải giải cả 5 bài; lợi ích là . |
| 4 2 1 2000 2000 2 |
4000 2 2 |
Chia thành [1, 2000], [2000, 2], tổng lợi ích . |
Bình luận