0
已解决
张子灏
新手守护
新手守护
10056 卡车拉货(二)
经验值:1200
时间限制:1000毫秒
内存限制:128MB
题目描述 De**ion
现在仓库里有按顺序摆放的n段钢材,这些钢材的长度各不相同,需要通过卡车运送到各个地方。卡车的车厢长度不同,且车厢长度越长使用费用越贵。现在**员想租M辆一样的卡车按钢材的排列顺序来运这些钢材,请问要运完这些木头,花费最少的时候卡车长度是多少。请你编写一个程序,帮忙计算。
例如:这堆钢材长度为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。所以可以得到要将5段钢材4 2 4 5 1要分成3辆车运输的话,卡车车厢长度6时最便宜。
输入描述 Input De**ion
第一行包含两个正整数n,m。
第二行包含n个空格隔开整数Ai。
输出描述 Output De**ion
一个正整数,即每段和最大值最小为多少。
样例输入 Sample Input
5 3 4 2 4 5 1
样例输出 Sample Output
6
数据范围及提示 Data Size & Hint
1<n≤100
m≤n,Ai 之和不超过10^4