Pagini recente » Cod sursa (job #1289486) | Cod sursa (job #359029) | Cod sursa (job #1187365) | Cod sursa (job #908191) | Cod sursa (job #1133886)
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<bitset>
#define nmax 50000
using namespace std;
bitset<50005>sum;
int n,i,j,k,v[1005],res[1005];
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) scanf("%d",&v[i]);
sort(v+1,v+n+1);
for (i=1;i<=n;i++)
if (!sum[v[i]])
{
res[++k]=v[i];
sum[v[i]]=1;
for (j=1;j<=nmax-v[i];j++)
if (sum[j]) sum[j+v[i]]=1;
}
printf("%d\n",k);
for (i=1;i<=k;i++)
printf("%d\n",res[i]);
return 0;
}