Pagini recente » Cod sursa (job #1509357) | Cod sursa (job #2594128) | Cod sursa (job #79237) | Cod sursa (job #2644741) | Cod sursa (job #1704950)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int a[1001],sol[1001],ap[50001];
bitset<50001>es;
int n,i,mx,fi,j;
int main()
{
fin>>n;
for(i=1;i<=n;i++)fin>>a[i],ap[a[i]]++,mx=max(mx,a[i]);
for(n=0,i=1;i<=mx;i++)
while(ap[i]--)a[++n]=i;
memset(ap,0,sizeof(ap));
es[0]=1;
fi=0;
for(i=1;i<=n;i++)
{
if(!es[a[i]])
sol[++fi]=a[i];
for(j=0;j+a[i]<=50000;j++)
if(es[j])
es[j+a[i]]=1;
}
fout<<fi<<"\n";
for(i=1;i<=fi;i++)fout<<sol[i]<<"\n";
return 0;
}