Pagini recente » Cod sursa (job #1350141) | Cod sursa (job #1603041) | Cod sursa (job #1491050) | Cod sursa (job #1624885) | Cod sursa (job #109629)
Cod sursa(job #109629)
#include<stdio.h>
long max,v[50005],n,nr,s[50005];
void read()
{
int i;
scanf("%ld",&n);
for (i=1;i<=n;i++)
{scanf("%ld",&v[i]);
if (v[i]>max)
max=v[i];
}
}
void rez()
{
int i,j;
for (i=1;i<=n;i++)
{if (!s[v[i]])
s[v[i]]=1;
for (j=1;j<=max;j++)
if (s[j])
if (s[j+v[i]]<s[j]+1)
s[j+v[i]]=s[j]+1;
}
for (i=1;i<=n;i++)
{
if (s[v[i]]==1)
nr++;
}
printf("%ld\n",nr);
for (i=1;i<=n;i++)
{
if (s[v[i]]==1)
printf("%ld\n",v[i]);
}
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
read();
rez();
fcloseall();
return 0;
}