Pagini recente » Cod sursa (job #2227822) | Cod sursa (job #2961850) | Cod sursa (job #46961) | Cod sursa (job #2677276) | Cod sursa (job #300286)
Cod sursa(job #300286)
// economie.cpp : Defines the entry point for the console application.
//
#include <cstdio>
#include <stdlib.h>
int n;
int e[1001];
int v[50001],valmax;
int solutii[1001],curent=0;
int compar(const void *a,const void *b)
{
return(*(int*)a-*(int*)b);
}
void citire()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&e[i]);
qsort(e+1,n,sizeof(int),compar);
valmax=e[n];
}
void operare()
{
int i,j,l;
v[0]=1;
for(i=1;i<=n;i++)
if(v[e[i]])
continue;
else
{
curent++;
solutii[curent]=e[i];
for(l=0;l+e[i]<=valmax;l++)
if(v[l])
v[l+e[i]]=1;
}
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
citire();
operare();
printf("%d\n",curent);
for(int i=1;i<=curent;i++)
printf("%d\n",e[i]);
return 0;
}