Pagini recente » Cod sursa (job #2775397) | Cod sursa (job #2377979) | Cod sursa (job #280566) | Cod sursa (job #2601517) | Cod sursa (job #184584)
Cod sursa(job #184584)
#include <stdio.h>
int a[1000],val[50001],n,min;
void qsort(int li,int ls)
{
if (ls-li>0)
{
int i1=0,j1=-1,i=li,j=ls;
while (i<j)
{
if (a[i]>a[j])
{
int aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=i1;
i1=-j1;
j1=-aux;
}
i+=i1;
j+=j1;
}
qsort(li,i-1);
qsort(i+1,ls);
}
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d\n",&n);
int i,j;
for (i=0;i<n;i++)
scanf("%d\n",&a[i]);
qsort(0,n-1);
min=n;
for (i=0;i<n;i++)
{
if (val[a[i]])
{
a[i]=-1;
min--;
}
else
{
val[a[i]]=1;
for (j=1;j+a[i]<=50000;j++)
if (val[j])
val[j+a[i]]=1;
}
}
printf("%d\n",min);
for (i=0;i<n;i++)
if (a[i]!=-1)
printf("%d\n",a[i]);
return 0;
}