Pagini recente » Cod sursa (job #2411435) | Cod sursa (job #1420320) | Cod sursa (job #2358568) | Cod sursa (job #1226528) | Cod sursa (job #1936214)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[1001],f[50001],sol[1001];
int main()
{
FILE *fin=fopen ("economie.in","r");
FILE *fout=fopen ("economie.out","w");
int n,i,obt,j;
fscanf (fin,"%d",&n);
for (i=1;i<=n;i++)
fscanf (fin,"%d",&v[i]);
sort (v+1,v+n+1);
f[0]=1;
obt=0;
for (i=1;i<=n && obt<n;i++){
if (f[v[i]]==0)
sol[++sol[0]]=v[i];
else continue;
for (j=0;j+v[i]<=v[n];j++){
if (f[j]==1 && f[j+v[i]]==0)
f[j+v[i]]=1;
}
}
fprintf (fout,"%d\n",sol[0]);
for (i=1;i<=sol[0];i++)
fprintf (fout,"%d\n",sol[i]);
return 0;
}