Thi thử đợt 3 TS10 KHTN 2026 - FARM

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

Một nông trại có ~N~ thửa ruộng xếp thành một hàng, thửa thứ ~i~ có giá trị thu hoạch là ~a_i~ (có thể âm, nghĩa là thửa đó bị sâu bệnh và gây thiệt hại nếu thu hoạch).

Bạn muốn chọn một số thửa để thu hoạch sao cho tổng giá trị lớn nhất có thể. Tuy nhiên, sau khi thu hoạch một thửa, máy gặt cần thời gian bảo trì nên bạn phải bỏ qua ít nhất ~K~ thửa liền kề tiếp theo trước khi thu hoạch thửa tiếp.

Nói cách khác, nếu bạn thu hoạch thửa ~i~, thửa tiếp theo bạn được phép thu hoạch sớm nhất là thửa ~i + K + 1~. Bạn cũng có thể chọn không thu hoạch thửa nào (tổng = ~0~).

Hãy tìm tổng giá trị thu hoạch lớn nhất có thể.

Input

  • Dòng đầu tiên chứa hai số nguyên ~N~ và ~K~ (~1 \le N \le 10^6, 0 \le K \le N-1~).

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

Output

In ra một số nguyên duy nhất: tổng giá trị thu hoạch lớn nhất.

Scoring

Subtask Điểm Ràng buộc
1 ~25\%~ ~N \le 20~
2 ~25\%~ ~N \le 5000, K \le 5000~
3 ~25\%~ ~K \le 1~
4 ~25\%~ Không có ràng buộc gì thêm

Sample Input 1

5 1
3 1 5 2 8

Sample Output 1

16

Sample Input 2

6 2
5 -3 4 -1 6 2

Sample Output 2

11

Sample Input 3

4 1
-5 -3 -1 -4

Sample Output 3

0

Notes

Test 1: Thu hoạch thửa 1, 3, 5: ~3 + 5 + 8 = 16~.

Test 2: Thu hoạch thửa 1 và 5: ~5 + 6 = 11~.

Test 3: Tất cả âm, không thu hoạch.


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.