P1164 - 苹果分组

题目描述

有 $n$ 个苹果,每个苹果的重量是已知的。你的任务是将这些苹果分成两组,使得两组总重量之间的差尽可能小。

输入格式

一行是一个整数 $n$:表示苹果的数量。

第二行包含 $n$ 个整数 $p_1, p_2, ..., p_n$:每个苹果的重量。

输出格式

输出一个整数:两组苹果总重量之间的最小差值

样例 #1

样例输入 #1

5
3 2 7 4 1

样例输出 #1

1

样例解释

第一组苹果重量为 $2, 3, 4$,总重量为 $9$;

第二组苹果重量为 $1, 7$,总重量为 $8$;

两组之间的重量差为 $1$,是最小的可能差值

数据范围与提示

100%的数据:$1 ≤ n ≤ 20$,$1 ≤ p_i ≤ 10^9$

测试点数目

共18个测试点,每个测试点5.6分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1164.in,输出文件名为:P1164.out