14093 - 最小m段和问题

给定一个由 n 个整数 a_1, a_2, \dots, a_n 组成的序列,现在需要将这个序列分割成 m 段,每段必须是原序列中连续的一部分。如何分割才能使这 m 段子序列的和的最大值达到最小?输出这个最小的最大值。

例如,序列为 5 4 3 2 1 n=5 m=3 ,可以分割为 5 | 4 | 3 2 1,各段和分别为 5、4、6,最大值为 6,这是所有分割方案中最大值最小的,因此输出 6。

输入

  • 第一行包含两个整数 n m ,用空格隔开。
  • 第二行包含 n 个整数 a_1, a_2, \dots, a_n ,表示原序列。

输出

输出一个整数,表示最小的最大段和。

样例

输入

5 3
5 4 3 2 1

输出

6

提示

数据范围与约定

  • 1 \le n \le 5000
  • 1 \le m \le 100 ,且 m \le n
  • 0 \le a_i \le 100
时间限制 3 秒
内存限制 128 MB
讨论 统计
上一题 下一题