Chọn dãy

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho dãy số \(A\) gồm \(N\) phần tử, và một số \(K\).
Ta có thể chọn một dãy con sao cho vị trí các phần tử được chọn cách nhau tối thiểu \(K\) đơn vị.

Tìm tổng lớn nhất có thể đạt được.

Input

  • Dòng 1 gồm 2 số \(N\)\(K\) (\(N, K \le 10^5\))
  • Dòng 2 gồm \(N\) số là giá trị các số trong dãy \(A\) (\(A[i] \le 10^5\)).

Output

  • Một số duy nhất là kết quả của bài toán

Subtask

  • Subtask \(1\) (\(25\%\) số điểm): \(n, k \le 20\)
  • Subtask \(2\) (\(5\%\) số điểm): \(n = k\)
  • Subtask \(3\) (\(15\%\) số điểm): Các phần tử có giá trị bằng nhau
  • Subtask \(4\) (\(30\%\) số điểm): \(n, k \le 10^3\)
  • Subtask \(5\) (\(25\%\) số điểm): \(n, k \le 10^5\)

Example

Test 1

Input
5 3
2 4 3 5 1
Output
7
Note

Ta có thể chọn dãy gồm 2 phần tử: \(A_1 = 2\)\(A_4 = 5\). Hai phần tử này nằm ở vị trí cách nhau đùng \(3\) đơn vị, và có tổng là \(7\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.