SEQPART (IOI'14)

Xem PDF

Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho dãy \(L\) gồm các số \(C[1..L]\), cần chia dãy này thành \(G\) đoạn liên tiếp. Với phần tử thứ \(i\), ta định nghĩa chi phí của nó là tích của \(C_i\) và số lượng các số nằm cùng đoạn liên tiếp với \(C_i\). Chi phí của dãy số ứng với một cách phân hoạch là tổng các chi phí của các phần tử của G đoạn đã chia.

Yêu cầu: Hãy xác định cách phân hoạch dãy số để chi phí là nhỏ nhất.

Input

  • Dòng đầu tiên chứa 2 số \(L\)\(G\).
  • \(L\) dòng tiếp theo, chứa giá trị của dãy \(C_1, C_2, …, C_n\).

Output

  • In một dòng duy nhất là chi phí nhỏ nhất.

Scoring

  • \(1 ≤ L ≤ 8000\).
  • \(1 ≤ G ≤ 800\).
  • \(1 ≤ C_i ≤ 10^9\).

Example

Test 1

Input
6 3
11
11
11
24
26
100
Output
299
Note
  • Cách tối ưu là \(C[]=(11,11,11), (24,26), (100)\) Chi phí \(11∗3 + 11∗3 + 11∗3 + 24∗2 + 26∗2 + 100∗1=299\).

Bình luận

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