一座摩天大楼起了大火,n 个人都被困在了顶层狭长的走廊上,大家排着长长的队伍等着逃离险境。但火势很猛,消防员升起的救生舱只有 m 次运人下来的机会,并且每次运的人总重量还不能太重,避免将救生舱压垮。
此时如何将这一排人分隔成 m 个连续的小组,(大家遵守逃生守则,没有人会往前插队),并且让这 m 个组中总重量最重的那个组的重量尽量小。这样才能快速安全的将大家都救离险境。
现在告诉你这 n 个人的体重,请你找出一种分组方法,让这m 个组中总重量最重的那个组的重量尽量小,并输出这个组的总重量。
第一行两个正整数 n 和 m ,中间用一个空格隔开,表示有 n 个逃生的人和要分隔成 m 个连续的小组。
第二行 n 个正整数,每个整数之间用一个空格隔开,表示 n 个人的体重(单位:公斤)。
一个正整数,表示 m 个组中总重量最重的那个组的重量。
6 3 20 30 50 80 100 120
2
样例解释:
一种合理的分法( 20 30 50 )( 80 100)( 120 )
数据范围:
30 \% 1 \le n \le 10;5 \le m \le 10 ;
70 \% 1 \le n \le 100;5 \le m \le 20 ;
100 \% 1 \le n \le 10000; 100 \le m \le 1000 ;
中山市第四届小学生信息学邀请赛试题T5