Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Dãy số
Mô tả và yêu cầu

Dãy số

Time Limit: 1.0s Memory Limit: 512M

Cho 1 dãy số gồm 𝑁 phần tử (𝑁≤10000), mỗi phần tử có 1 giá trị nằm trong khoảng [−1000,
1000]. Ban đầu, bạn sẽ ở vị trí ô số 0 với tổng điểm là 0. Mỗi nước đi, người chơi có thể di chuyển
sang phải tối thiểu là 1 bước và tối đa là 𝐾 bước (𝐾≤10). Khi dừng lại ở 1 ô nào đó thì giá trị
của ô đó sẽ được cộng vào tổng điểm. Bạn có thể dừng cuộc chơi bất cứ lúc nào. Hãy tìm cách
chơi sao cho tổng điểm nhận được là nhiều nhất.

Dữ liệu vào

Dòng đầu tiên chứa 2 số 𝑁, 𝐾.
Dòng thứ 2 chứa 𝑁 số của dãy, mỗi số cách nhau 1 dấu cách. Mỗi số nằm trong khoảng
[−1000,1000]

Dữ liệu ra

Số điểm lớn nhất có thể đạt được.

Giới hạn và chấm điểm

𝑁 ≤ 10000.
𝐾 ≤ 10.
Trong 20% số test có 𝑁≤10

Sample Input

5 2
-2 3 -6 -4 5

Sample Output

4

Note

Ta có thể đi theo thứ tự 0→2→4→5. Số điểm đạt được là 0+3−4+5=4.

Tải PDF gốc


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.