[Buổi 39][Chuyên đề Quy hoạch động & Kiểm tra mốc][HW] Bài 3: Đóng gói lô dữ liệu
Đóng gói lô dữ liệu
Bối cảnh và bài toán
Có dãy n khối dữ liệu. Bạn phải chia dãy thành các đoạn liên tiếp, mỗi đoạn dài không quá K. Sau khi đóng gói, mọi phần tử trong đoạn được quy đổi thành giá trị lớn nhất của đoạn; điểm đoạn bằng giá trị lớn nhất nhân độ dài đoạn.
Yêu cầu
Tối đa hóa tổng điểm của toàn bộ dãy sau khi chia.
Input
Dòng 1 n K; dòng 2 dãy a.
Output
In tổng điểm lớn nhất.
Ràng buộc
1 <= n <= 50001 <= K <= 1000 <= a_i <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 40 | n <= 300, K <= 30 |
01–08 |
| S2 | 60 | Không có ràng buộc bổ sung | 09–20 |
Ví dụ 1
Input
7 3
1 15 7 9 2 5 10
Output
84
Giải thích. Ví dụ nhỏ giúp kiểm tra cách chia prefix thành các đoạn liên tiếp và đánh giá điểm của đoạn cuối.
Ví dụ 2
Input
5 1
2 4 1 8 3
Output
18
Giải thích. Khi K = 1, mỗi phần tử bắt buộc tạo thành một đoạn riêng.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M10-B39-HW03 |
| Buổi | B39 |
| Loại bài | HOMEWORK |
| Mức độ khó | Khó (Hard) |
| Thời gian làm bài khuyến nghị | 55 phút |
| Time limit | 2 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++11 trở lên |
Nguồn: FULLHOUSE DEV – Self-generated.
Comments