#967. [蓝桥杯]物品拆分

[蓝桥杯]物品拆分

题目描述

n件物品排成一排,编号分别为: 1、2、3...n身的价值,价值分别为:a1a_1a2a_2a3a_3...ana_n

请将这 n 件物品拆分为 k 组(不改变物品的顺序),要求每组内至少有一件物品,分别统计每组物品的价值之和,并找出其中的最大值。请设计一种分组方案,使这个最大值尽可能小,并输出这个最大值。

例如:n=5,表示有5 件物品,这5 件物品的价值分别是 6、1、3、8、4;k=2,表示要将这 5 件物品拆分为两组,有如下方案:

1、[6]和 [1,3,8,4],两组物品各自的价值之和为 6和 16,最大值为16;

2、[6,1]和 [3,8,4],两组物品各自的价值之和为 7和 15,最大值为15;

3、[6,1,3]和 [8,4],两组物品各自的价值之和为 10 和 12,最大值为 12;

4、[6,1,3,8]和 [4],两组物品各自的价值之和为 18 和 4,最大值为18;

其中第 3 种方案,价值之和的最大值12 在 4 种方案中最小,故输出12。

输入格式

第一行输入一个整数 n(1 ≤ n ≤ 1000),表示物品的数量

第二行输入 n 个整数a1a_1a2a_2,...ana_n(1 ≤ aia_i10510^5),aia_i表示 ii 号物品的价值,整数之间以一个空格隔开。

第三行输入一个整数 k (1 ≤ k ≤ n),表示将 n 件物品拆分的组数。

输出格式

输出一个整数,表示按照题目要求得到的最大值

样例

5
6 1 3 8 4
2
12

评分标准

10分:能正确输出第一组数据;

10分:能正确输出第二组数据;

10分:能正确输出第三组数据;

10分:能正确输出第四组数据;

10分:能正确输出第五组数据;

10分:能正确输出第六组数据;

10分:能正确输出第七组数据;

10分:能正确输出第八组数据;

10分:能正确输出第九组数据;

10分:能正确输出第十组数据。