#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 25
using namespace std;
int minx,sum,n;
int s[N];
bool flag;
void dfs(int sum1,int cur)
{
if(flag||cur==n) return;
if(abs(sum-2*sum1)<minx)
{
minx=abs(sum-2*sum1);
if(!minx)
{
flag=true;
return;
}
}
dfs(sum1+s[cur],cur+1);
dfs(sum1,cur+1);
}
int main()
{
while(~scanf("%d",&n))
{
sum=0,minx=0xfffffff;
flag=false;
for(int i=0;i<n;++i)
{
scanf("%d",&s[i]);
sum+=s[i];
}
dfs(0,0);
printf("%d\n",minx);
}return 0;
}
zb的生日&&dfs
最新推荐文章于 2020-05-15 12:42:48 发布