AT_abc374_c [ABC374C] Separated Lunch

题目描述

由于 Keyence 总公司的员工人数不断增加,公司决定将总部的所有部门分成两组,并分别安排不同的午休时间段。 Keyence 总公司共有 $N$ 个部门,第 $i$ 个部门有 $K_i$ 人。 请将每个部门分配到组 $A$ 或组 $B$ 中,使得每组的部门可以同时午休,并且组 $A$ 和组 $B$ 的午休时间不重叠。请你求出在所有可能的分组方式中,同时午休的最大人数的最小可能值。 也就是说,设组 $A$ 的总人数为 $S_A$,组 $B$ 的总人数为 $S_B$,请你最小化 $\max(S_A, S_B)$。

输入格式

输入通过标准输入给出,格式如下: > $N$ $K_1$ $K_2$ $\ldots$ $K_N$

输出格式

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

说明/提示

## 限制条件 - $2 \leq N \leq 20$ - $1 \leq K_i \leq 10^8$ - 所有输入均为整数 ## 样例解释 1 将第 $1,2,5$ 个部门分配到组 $A$,第 $3,4$ 个部门分配到组 $B$ 时,组 $A$ 的总人数为 $2+3+12=17$,组 $B$ 的总人数为 $5+10=15$,此时同时午休的最大人数为 $17$。 无法将部门分配得使得组 $A$ 和组 $B$ 的总人数都不超过 $16$,因此输出 $17$。 ## 样例解释 2 可能存在多个部门人数相同的情况。 ## 样例解释 3 例如,将第 $1,4,5$ 个部门分配到组 $A$,第 $2,3,6$ 个部门分配到组 $B$ 时,同时午休的最大人数为 $89$。 由 ChatGPT 4.1 翻译