Pagini recente » Cod sursa (job #2958757) | Cod sursa (job #2700824) | Cod sursa (job #525580) | Cod sursa (job #1690195) | Cod sursa (job #1314116)
#include<stdio.h>
#include<algorithm>
#define N 1000
#define MAX 50000
int v[N],sol[N];
char pos[MAX];
int main()
{
FILE *fin,*fout;
fin=fopen("economie.in","r");
fout=fopen("economie.out","w");
int n;
fscanf(fin,"%d",&n);
int i;
for(i=0;i<n;i++)
fscanf(fin,"%d",&v[i]);
std::sort(v,v+n);
pos[0]=1;
int soln=0;
for(i=0;i<n;i++)
{
if(!pos[v[i]])
{
sol[soln]=v[i];
soln++;
int j;
for(j=0;j<=v[n-1]-v[i];j++)
{
if(pos[j])
pos[v[i]+j]=1;
}
}
}
fprintf(fout,"%d\n",soln);
for(i=0;i<soln;i++)
fprintf(fout,"%d\n",sol[i]);
return 0;
}