AT_tenka1_2016_qualB_e 天下一合体

题目描述

高桥君有一个长度为 $N$ 的数列 $a_1,\ a_2,\ ...,\ a_N$。他可以多次进行以下操作: - 从数列中选择相邻的 $2$ 个元素,将这两个元素相加并合并为一个元素。也就是说,用它们的和替换这两个元素。 只要数列中的元素个数不少于 $M$,他就可以任意多次进行上述操作。 高桥君希望使数列中所有元素的绝对值之和最小。你的任务是替高桥君求出这个最小值。

输入格式

输入以如下格式从标准输入读入: > $N$ $M$ $a_1$ $a_2$ ... $a_N$

输出格式

输出一行表示所求的最小值。输出末尾需换行。

说明/提示

## 限制条件 - $1 \leq N \leq 20,\!000$ - $1 \leq M \leq \min(100, N)$ - $|a_i| \leq 10^9$ ## 样例解释 1 - 首先选择 $[2, -4, 3, -1]$ 的第 1 个和第 2 个元素,得到 $[-2, 3, -1]$。 - 然后选择 $[-2, 3, -1]$ 的第 1 个和第 2 个元素,得到 $[1, -1]$。 - 此时答案为 $|1| + |-1| = 2$,这是最优的。 ## 样例解释 2 - 对第 2 个和第 3 个元素进行 5 次操作,得到 $[0, -1, 5, -4]$。 - 然后选择第 3 个和第 4 个元素,得到 $[0, -1, 1]$。 - 此时答案为 $|0| + |-1| + |1| = 2$,这是最优的。 由 ChatGPT 4.1 翻译