TS10 Hà Tĩnh 2026 - Thu năng lượng

Xem dạng PDF

Gửi bài giải

Điểm: 17,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trong một trò chơi điện tử, bạn An cần đi qua một con đường gồm ~n~ trạm năng lượng được đánh số từ ~1~ đến ~n~. Tại trạm thứ ~i~, An có thể nhận được ~a_i~ đơn vị năng lượng. Tuy nhiên, để tránh quá tải, An phải tuân theo các quy tắc sau:

  • An có thể chọn hoặc bỏ qua mỗi trạm;

  • Không được chọn quá ~k~ trạm liên tiếp;

  • An có thể không chọn trạm nào.

Yêu cầu: Hãy tính tổng năng lượng lớn nhất mà An có thể nhận được.

Input

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~ ~(1 \le n \le 10^5, k \le n, 1 \le k \le 20)~.

  • Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \dots, a_n~ ~(|a_i| \le 10^6, 1 \le i \le n)~.

Các số ghi trên một dòng cách nhau bởi một dấu cách.

Output

Một số nguyên duy nhất là tổng năng lượng lớn nhất mà An có thể nhận được.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~k = 1; 1 \le a_1 < a_2 < \dots < a_n~
2 ~30\%~ ~k \le 2~
3 ~20\%~ ~a_i > 0~ (~1 \le i \le n~)
4 ~20\%~ Không có ràng buộc gì thêm

Sample Input 1

5 1
2 3 5 7 8

Sample Output 1

15

Sample Input 2

6 2
5 8 4 10 3 7

Sample Output 2

30

Notes

  • Ví dụ 1: Với ~k = 1~, không được chọn quá ~1~ trạm liên tiếp. Chọn các trạm ~1, 3, 5~ thu được tổng năng lượng là ~2 + 5 + 8 = 15~.

  • Ví dụ 2: Với ~k = 2~, không được chọn quá ~2~ trạm liên tiếp. Chọn các trạm ~1, 2, 4, 6~ thu được tổng năng lượng là ~5 + 8 + 10 + 7 = 30~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.