Pagini recente » Cod sursa (job #1739699) | Cod sursa (job #2632106) | Cod sursa (job #945080) | Cod sursa (job #3226874) | Cod sursa (job #2106326)
#include <iostream>
#include <fstream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, a[1005], fr[50001], maxi, nr=0, sol[1005], t=0;
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d\n",&n);
for (int i=0; i<n; i++)
{
scanf("%d\n",&a[i]);
}
sort(a,a+n);
maxi=a[n-1];
fr[0]=1;
for (int j=0; j<n; j++)
{
if (fr[a[j]]==0)
{
nr++;
sol[t++]=a[j];
}
for (int i=0; i<=maxi; i++)
{
if (i+a[j]<=50000&&fr[i]==1)
{
fr[i+a[j]]=1;
}
}
}
printf("%d\n",nr);
for (int i=0; i<t; i++)
printf("%d\n",sol[i]);
return 0;
}