#P1446. Monotonic
Monotonic
当前没有测试数据。
Description
给定一个长度为n的序列C1, C2…Cn,我们称C的单调序列就是把它改成一个严格单调递增的序列D1,D2..Dn(D1D2>..>Dn),同时我们定义它的代价就是|D1-C1|+|D2-C2|…|Dn-Cn|. 这个问题你是不是看得非常眼熟呢? 下面请考虑这个问题的加强版把. 请你把这个长度为n的序列分成m段,其中要求将每段改成一个单调序列,同时要求代价和最小.比如说1,2,3,2,1就是一个满足要求2段单调序列(1,2,3),(2,1),而将1,1,1,1改成2段单调序列的最优的方案就是(1,2),(2,1),它的代价就是2.
Input
第1行2个数n, m. 接下来n行,每行一个数,按顺序给出C1, C2…Cn.
Output
一个数,即最小的代价和.
Samples
6 1
1
2
3
3
2
1
9
Limitation
30%的数据, n<=100. 20%的数据, m=1. 100%的数据,n<=2000, m<=min{n,10},Ci<=10000.