#D2113O. 营救

营救

题目描述

一座摩天大楼起了大火,n个人都被困在了顶层狭长的走廊上,大家排着长长的队伍等着逃离险境。但火势很猛,消防员升起的救生舱只有m次运人下来的机会,并且每次运的人总重量还不能太重,避免将救生舱压垮。此时如何将这一排人分隔成m个连续的小组,(大家遵守逃生守则,没有人会往前插队),并且让这m个组中总重量最重的那个组的重量尽量小。这样才能快速安全的将大家都救离险境。

现在告诉你这n个人的体重,请你找出一种分组方法,让这m个组中总重量最重的那个组的重量尽量小,并输出这个组的总重量。

输入

第一行两个正整数n和m,中间用一个空格隔开,表示有n个逃生的人和要分隔成m个连续的小组。

第二行n个正整数,每个整数之间用一个空格隔开,表示n个人的体重(单位:公斤)。

输出

一个正整数,表示m个组中总重量最重的那个组的重量。

样例输入

6 3
20 30 50 80 100 120

样例输出

180

提示

样例解释: 一种合理的分法(20 30 50)(80 100)(120)

数据范围:

30% 1<=n<=10;5<=m<=10;

60% 1<=n<=100;5<=m<=20;

100% 1<=n<=10000; 100<=m<=1000;1<=体重<=10000;