#865. 数列分段

数列分段

题目描述

对于给定的一个长度为 NN 的正整数数列 AA ,现要将其分成 MM 段,并要求每段连续,且每段和的最大值最小。

例如,要将数列 4 2 4 5 1 分成 3 段:

若分为 [4 2][4 5][1],各段的和分别为 6, 9, 1 ,和的最大值为 9;

若分为 [4][2 4][5 1],各段的和分别为 4, 6, 6 ,和的最大值为 6;

并且无论如何分段,最大值不会小于 6。

所以可以得到:要将数列 4 2 4 5 1 要分成 3 段,每段和的最大值最小为 6 。

输入格式

第 1 行包含两个正整数 NMN,M

第 2 行包含 NN 个空格隔开的非负整数 AiA_i,含义如题目所述。

输出格式

仅包含一个正整数,即每段和最大值最小为多少。

样例输入

5 3
4 2 4 5 1

样例输出

6

数据范围

20%的数据:N10N ≤ 10

40% 的数据:N1000N ≤ 1000

100%的数据:N105MNΣAi109N ≤ 10^5,M ≤ N, ΣA_i ≤ 10^9 。