FLOWER

Vườn hoa của ông Nhân nở rộ \(n\) khóm hoa đẹp, khóm hoa thứ \(i\)\(a_{i}\) bông hoa. Do nhu cầu tiêu thụ lớn nên người lái buôn muốn mua càng nhiều hoa của vườn càng tốt.

Địa hình vườn nhà ông Nhân không thể cắt hoa của \(k\) khóm hoa liên tiếp, vì vậy ông Nhân cần tìm cách cắt hoa sao cho cắt được tổng số bông hoa là nhiều nhất có thể. Do số lượng khóm hoa rất lớn, ông Nhân không tự tính được nên cần nhờ sự giúp đỡ của bạn.

Yêu cầu: Bạn hãy lập trình để giúp ông Nhân cắt được số lượng hoa nhiều nhất.

Dữ liệu vào:

- Dòng 1: chứa hai số nguyên dương \(n\)\(k\) \((n\ \leq 10^{5};\ 2 \leq k \leq 10^{5})\).

- Dòng 2: Chứa N số nguyên dương \(a_{1},a_{2},\ldots,a_{n}\ \)lần lượt là số bông hoa của mỗi khóm hoa

Kết quả: Ghi một số nguyên không âm \(M\ \)là kết quả tìm được.

Ví dụ:

Input Output Input Output
7 3
1 4 2 3 6 5 9
23 5 2
1 10 7 3 4
14

Giải thích:

- Trong test 1: Vì không thể cắt hoa ở 3 khóm hoa liên tiếp nên ông Nhân sẽ cắt hoa ở những khóm hoa thứ 1, 2, 4, 5, 7. Tổng số bông hoa cắt được là 1 + 4 + 3 + 6 + 9 = 23 bông hoa.

- Trong test 2: Vì không thể cắt hoa ở 2 khóm hoa liên tiếp nên ông Nhân sẽ cắt hoa ở những khóm hoa thứ 2 và 5. Tổng số bông hoa cắt được là 10 + 4 = 14 bông.

Ràng buộc:

  • 60% số test tiếp theo có \(n \leq 10^{3},\ k \leq 10^{3}\)

  • 40% số test tiếp theo có \(n \leq 10^{5},\ k \leq 10^{5}\)

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. sythai (5/8)
  2. npk1605 (5/10)
  3. trungnam (4/4)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]