#P2144. 0x50 动态规划(练习)19:[SP16809] EST - Estimation

0x50 动态规划(练习)19:[SP16809] EST - Estimation

【题意】

给定一个长度为 NN 的整数数组 AiA_i,需要创建另一个长度为 NN 的整数数组 BiB_i,数组 BB 被分为 KK 个连续的部分,并且如果 iijj 在同一个部分,则 Bi=BjB_i=B_j

要求数组 BB 能够满足 AiBi\sum|A_i-B_i| 最小,输出这个最小值。

【输入格式】

多组测试数据,于每组测试数据描述如下:

第一行两个整数 N K (1N2000,1K25,KN)N \ K \ (1≤N≤2000,1≤K≤25,K≤N)

下来 NN 个整数 Ai (Ai1000)A_i \ (|A_i| \le 1000)

当输入为一行 0 0 时,表示输入终止。

【输出格式】

对于每组数据,输出一行一个最小值。

【输入样例】

7 2
6
5
4
3
2
1
7
0 0

【输出样例】

9