递归。
#include<iostream>
# include <cstdio>
# include <vector>
# include <algorithm>
# define ll long long
using namespace std;
int a[101];int n;
int b[3]={-1,0,1};
int w[100001];
void fx(int i,int weight)
{
if(i==n+1)
{
if(weight>=1&&weight<=100000)
{
++w[weight];
}
}
else
{
for(int j=0;j<3;++j)
{
fx(i+1,weight+a[i]*b[j]);
}
}
}
int main(){
cin>>n;
int i;
for(i=1;i<=n;++i)
{
cin>>a[i];
}
fx(1,0);int sum=0;
for(i=1;i<=100000;++i)
{
if(w[i])
++sum;
}
cout<<sum<<endl;
return 0;
}