PreVOI 2024 - Contest 1 - Dãy số

Xem dạng PDF

Gửi bài giải

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

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

Cho hai số nguyên dương ~n, k~ và dãy ~a~ có ~n~ phần tử.

Xét một dãy ~b~ có ~n~ phần tử ban đầu đều bằng ~\infty~ hay ~b_i = \infty~ với ~\forall 1 \le i \le n~.

Bạn được thực hiện thao tác sau vô số lần:

  • Chọn cặp số nguyên ~(x, v)~ thỏa mãn ~1 \le x \le n-k+1~, sau đó gán ~b_i = \min(b_i, v)~ với ~\forall x \le i \le x+k-1~.

Sau một số thao tác, dãy ~b~ được gọi là đẹp nếu ~a_i \ge b_i~ với ~\forall 1 \le i \le n~.

Tính giá trị lớn nhất của tổng các phần tử dãy ~b~ sau khi dãy ~b~ trở nên đẹp.

Input

  • Dòng đầu tiên chứa hai số nguyên dương ~n, k~ ~(1 \le k \le n \le 2000)~.

  • Dòng thứ hai chứa ~n~ số nguyên lần lượt là ~a_1, a_2, \dots, a_n~ ~(1 \le a_i \le 100000)~.

Output

  • Ghi ra trên một dòng duy nhất là giá trị lớn nhất của tổng các phần tử dãy ~b~ sau khi dãy ~b~ trở nên đẹp.

Scoring

Subtask Điểm Ràng buộc
1 ~10\%~ ~a_i \le a_{i+1}, \forall 1 \le i \le n-1~.
2 ~20\%~ ~a_i \le 2~.
3 ~20\%~ ~n \le 80~.
4 ~20\%~ ~n \le 500~.
5 ~30\%~ Không có giới hạn gì thêm

Sample Input 1

4 2
6 6 4 2

Sample Output 1

16

Sample Input 2

5 3
3 4 4 3 1

Sample Output 2

9

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.