#5231. Separated Lunch

0

Separated Lunch

Separated Lunch

题目描述

随着 KEYENCE 总部的员工越来越多,他们决定将总部的部门分为两组并错开午休时间。 KEYENCE 总部有 NN 个部门,第 ii 个部门 (1≤i≤N)(1\leq i\leq N) 的人数为 KiK_i。 在将每个部门分配到 A 组或 B 组,使得每组同时午休且 A 组与 B 组的午休时间不重叠的前提下,求同时午休人数的最大值的最小可能值。
换句话说,求下列两者中的较大值(被分配到 A 组的部门人数总和,和被分配到 B 组的部门人数总和)的最小可能值。

输入格式

输入按下列格式从标准输入给出: NN K1K_1 K2K_2 …\ldots KNK_N

输出格式

输出同时午休人数的最大值的最小可能值。

5
2 3 5 10 12
17
2
1 1
1
6
22 25 26 45 22 31
89

提示

2≤N≤202 \leq N \leq 20 1≤Ki≤1081 \leq K_i \leq 10^8 所有输入值均为整数。当将部门 11、22、55 分配到 A 组,将部门 33、44 分配到 B 组时,A 组共有 2+3+12=172+3+12=17 人,B 组共有 5+10=155+10=15 人。因此,同时午休人数的最大值为 1717。 不可能将部门分配为使得两组的人数都不超过 1616,所以输出 1717。
多个部门可能具有相同的人数。
例如,当将部门 11、44、55 分配到 A 组,将部门 22、33、66 分配到 B 组时,同时午休人数的最大值为 8989。

标签: AtCoder|abc374C

来源

AtCoder|abc374C