填空题

食物分配

发布于 2022-03-03 17:08:17

假设有N种不同的食物,每种食物热量不同,分配给K个人来吃。为了方便,吃食物要求保持连续,比如123食物A来吃,45食物B来吃,6789食物C来吃。但不能跳跃分配,例如142A吃,3、5、6给B吃,并且同一食物不能分配给两个人吃。食物分配有多种方式,为了公平起见,我们希望分配给N个人之后,每个人分配的食物热量总和的最大值(我们称之为最大热量)尽量小。

我们用9种不同热量的食物和3个人来进行举例,例子如下:
123,456,789,这种分法,3份热量分别是6,15,24,最大热量是24
1234,567,89,这种分法,3份热量分别是10,18,17,最大热量是18
12345,67,89,这种分法,3份热量分别是10,13,17,最大热量是17
可以看到,这3种分配方式中,最后一种分配方式的最大热量值最小。当然我们还有其它很多种分配方式,但事实上,这一种分配方式是所有分配方式中,最大能量值最小的方案。
请设计分配方案,获得最大能量最小的情况,并输出这个最小值即可。
输入描述: 第一个数字表示N种不同的食物, 第二个数字表示K个人,第三组为N种食物的热量,所有的输入均以空格分开,样例如下:

9 3 1 2 3 4 5 6 7 8 9输入样例: 9 3 1 2 3 4 5 6 7 8 9 输出描述: 所有分配方式中,能获得的最小的“最大热量”值,即样例的输出为:

17输出样例 17
关注者
0
被浏览
15
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看