Pagini recente » Cod sursa (job #906652) | Cod sursa (job #2803039) | Cod sursa (job #861692) | Cod sursa (job #2894263) | Cod sursa (job #478886)
Cod sursa(job #478886)
#include <cstdio>
#include <algorithm>
using namespace std;
#define file_in "economie.in"
#define file_out "economie.out"
int n,a[1010],viz[51000],sol[1100],maxx;
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &n);
for (int i=1;i<=n;++i)
{
scanf("%d", &a[i]);
maxx=max(maxx,a[i]);
}
}
void solve()
{
int i,nr=0,j;
sort(a+1,a+n+1);
viz[0]=1;
for (i=1;i<=n;++i)
if (!viz[a[i]])
{
sol[++nr]=a[i];
for (j=0;j<=maxx;++j)
if (viz[j] && j+a[i]<=maxx)
viz[j+a[i]]=1;
}
printf("%d\n", nr);
for (i=1;i<=nr;++i)
printf("%d\n", sol[i]);
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}