Pagini recente » Cod sursa (job #113776) | Cod sursa (job #2842264) | Cod sursa (job #2044289) | Cod sursa (job #1846175) | Cod sursa (job #291507)
Cod sursa(job #291507)
#include<stdio.h>
int v[1001],viz[50001],max,sol[1001],i,j,k,l,m,n;
int main(){
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{scanf("%d",&v[i]);
if(v[i]>max)max=v[i];
if(v[i]==1)
{printf("%d\n%d",1,1);
return 0;
}}
viz[0]=1;
for(i=1;i<=n;i++)
{if(2*v[i]<max)
viz[2*v[i]]=1;
for(j=v[i]+1;j<=max-v[i];j++)
if(viz[j])
viz[j+v[i]]=1;}
for(i=1;i<=n;i++)
if(!viz[v[i]])sol[++k]=v[i];
printf("%d\n",k);
for(i=1;i<=k;i++)
printf("%d\n",sol[i]);
return 0;}