#240. 估算

估算

题目描述

给定一个长度为N\red {N}的整数数组A\red {A},你需要创建另一个长度为N\red {N}的整数数组B\red {B},数组B\red {B}被分为K\red {K}个连续的部分,并且如果i\red {i}j\red {j}在同一个部分,则B[i]=B[j]\red {B[i]=B[j]}

如果要求数组B\red {B}能够满足ΣA[i]B[i]\red {Σ|A[i]-B[i]|}最小,那么最小值是多少,请你输出这个最小值。

输入格式

输入包含多组测试数据。

对于每组测试数据,第一行包含两个整数N\red {N}K\red {K}

接下来N\red {N}行每行包含一个整数,表示完整的数组A\red {A}

当输入为一行0 0\red {0~ 0}时,表示输入终止。

输出格式

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

每个结果占一行。

样例

输入样例

7 2
6
5
4
3
2
1
7
0 0

输出样例

9

提示

1N2000\red {1≤N≤2000},

1K25,KN\red {1≤K≤25,K≤N}