Cắt cỏ không quá k con liên tiếp
Xem dạng PDF📖 Bài giảng & lời giải: đây là Bài tập 2 trong bài giảng Bài 45: Tối ưu QHĐ trên blog Lập trình thuật toán – có lý thuyết, mô phỏng từng bước, gợi ý và code C++ / Python.
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới xem gợi ý và lời giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Có $n$ chú bò xếp thành một hàng, chú thứ $i$ có năng suất cắt cỏ là $e_i$. Bác nông dân muốn chọn một số chú bò (có thể không chọn chú nào) đi cắt cỏ, nhưng không được có quá $k$ chú đứng liên tiếp nhau trong hàng cùng được chọn (nếu không chúng sẽ đánh nhau). Hãy tìm tổng năng suất lớn nhất của các chú được chọn.
Dữ liệu vào
- Dòng 1: hai số nguyên $n, k$ ($1 \le k \le n \le 10^5$).
- Dòng 2: $n$ số nguyên $e_1, e_2, \ldots, e_n$ ($0 \le e_i \le 10^9$).
Kết quả
In ra một số nguyên là tổng năng suất lớn nhất (chú ý kết quả có thể vượt quá phạm vi kiểu int).
Sample Input
5 2
1 2 3 4 5
Sample Output
12
Note
Cho chú bò có năng suất 3 nghỉ, tổng năng suất là $1 + 2 + 4 + 5 = 12$.
Bình luận