#include<iostream>
#include<algorithm>
#include<set>
const int N=110;
using namespace std;
int a[N];
int n;
set<int>ans;
void dfs(int i,int sum)
{
if(i==n) return ;
if(sum+a[i]>0)
{
ans.insert(sum+a[i]);
}
if(sum-a[i]>0)
{
ans.insert(sum-a[i]);
}
dfs(i+1,sum-a[i]);
dfs(i+1,sum+a[i]);
dfs(i+1,sum);
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
dfs(0,0);
cout<<ans.size()<<endl;
// for (auto elem : ans) {
// cout << elem << " ";
// }
}
题目:
暴力过了百分之40的数据(心满意足)