D. 最小差距的划分

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

给定 n 个元素的数组 a,请将这个数组的所有元素划分到两个子集,使得这两个子集的和的差距最小。请输出这个最小差距。

例如:a = {1,3,4,5}

划分为差距最小的两个子集:{1,5} {3,4},这两个集合的和的差距为 1。

输入格式

第一行,n

第二行,数组 a 的 n 个元素

输出格式

两个子集的最小差距

样例

样例输入 #1

4 
1 3 4 5

样例输出 #1

1

数据范围与提示

1 <= n <= 22

测试点1:n=1

测试点2:n<=2

测试点3~4:n<=10

测试点5~6:n<=20

测试点7~8:n<=22

保证所有元素之和不超过 int 范围