Pagini recente » Cod sursa (job #2694237) | Cod sursa (job #31781) | Cod sursa (job #503994) | Cod sursa (job #2300737) | Cod sursa (job #567172)
Cod sursa(job #567172)
#include <stdio.h>
#include <string.h>
#include <algorithm>
#define Dim1 1001
#define Dim2 50001
using namespace std;
char ok[Dim1],p[Dim2];
int v[Dim1];
int main()
{
int i,j,nr,N;
freopen("economie.in","r",stdin);
scanf("%d",&N);
for(i=0;i<N;i++) scanf("%d",&v[i]);
sort(v,v+N);
memset(ok,0,sizeof(ok));
memset(p,0,sizeof(p));
p[0]=1;
nr=0;
for(i=0;i<N;i++)
if(!p[v[i]])
{
nr++;
ok[i]=1;
for(j=0;j<=Dim2-v[i]-1;j++)
if(p[j]) p[j+v[i]]=1;
}
freopen("economie.out","w",stdout);
printf("%d\n",nr);
for(i=0;i<N;i++)
if(ok[i]) printf("%d\n",v[i]);
return 0;
}