Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Chọn các đoạn có tổng lớn nhất

Dễ Quy hoạch động Mảng cộng dồn (Prefix Sum)

  • 100 Điểm
  • 100% Tỉ lệ AC
  • 1 Số AC
  • 500M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Cho một dãy gồm \(n\) số nguyên không âm \(p_1, p_2, \dots, p_n\). Hãy chọn ra đúng \(k\) đoạn con liên tiếp, đôi một không giao nhau, mỗi đoạn có độ dài đúng \(m\), tức là chọn các cặp \([L_1, R_1], [L_2, R_2], \dots, [L_k, R_k]\) thoả

\[1 \le L_1 \le R_1 < L_2 \le R_2 < \dots < L_k \le R_k \le n, \qquad R_i - L_i + 1 = m.\]

Trong tất cả các cách chọn, hãy tìm cách làm cho tổng các phần tử nằm trong \(k\) đoạn được chọn là lớn nhất và in ra tổng đó.

Input

  • Dòng đầu chứa ba số nguyên \(n\), \(m\), \(k\).
  • Dòng thứ hai chứa \(n\) số nguyên \(p_1, p_2, \dots, p_n\).

Output

In ra một số nguyên là tổng lớn nhất có thể đạt được.

Constraints

  • \(1 \le n \le 5000\), \(1 \le m \cdot k \le n\) (luôn chọn được \(k\) đoạn)
  • \(0 \le p_i \le 10^9\)

Sample Input 1

7 2 2
5 1 4 3 8 2 6

Sample Output 1

19

Sample Input 2

6 2 3
4 4 1 9 9 0

Sample Output 2

27

Sample Input 3

5 3 1
0 6 7 2 1

Sample Output 3

15

Explanation

Ở ví dụ 1 chọn đoạn \([4,5]\) (tổng \(3+8=11\)) và đoạn \([6,7]\) (tổng \(2+6=8\)), được \(19\). Ở ví dụ 2 phải dùng toàn bộ dãy vì \(m \cdot k = n\). Ở ví dụ 3 chỉ chọn một đoạn dài 3, tốt nhất là \(6+7+2=15\).

Bình luận

Chưa có bình luận nào.