#2551. K-单调

K-单调

Description

若一个整数序列的每一项都严格大于它前面的项,则称之为严格单调递增序列。类似地,若一个序列的每一项都严格小于它前面的项,则称之为严格单调递减序列。严格单调序列是严格单调递增或递减的序列。若一个整数序列可以分解为严格单调的k个不相交的连续子序列,则称之为kk-单调序列。一个严格单调递增序列是11-单调序列,事实上它也是kk-单调序列。序列{1,2,3,2,1}是22-单调的,因为它可以被分解为{1,2,3}和{2,1}。若序列不是kk-单调序列,则可以通过一次或多次进行以下操作将其转换为kk-单调序列:选择序列中的任意项,将其增加或减少11。给定一个数字序列A1,A2,,AnA_1,A_2,…,A _n和一个整数kk,计算将给定序列转换为kk-单调序列所需的最小成本。

Format

Input

输入包含多个测试用例,每个测试用例都包含两行。第11行给出整数nn1n1000(1≤n≤1000)k1kmink(1≤k≤min{n,10};第22行给出整数A1,A2,,An105Ai105A_1,A_2,…,A _n(-10^5≤A_ i≤10^5)。最后两个00表示结束。

Output

对每个测试用例,都单行输出答案。

Samples

4 1
1 1 1 1
4 2
1 1 1 1
4 4
1 1 1 1
6 1
1 2 3 3 2 1
0 0
4
2
0
9

来源

POJ3016