Pagini recente » Cod sursa (job #1343008) | Cod sursa (job #177125) | Cod sursa (job #2141723) | Cod sursa (job #2907115) | Cod sursa (job #110589)
Cod sursa(job #110589)
#include <stdio.h>
#include <stdlib.h>
int a[2001], n, sol[2001], nr, v[55000];
int cmp(const void *a, const void *b)
{
return *(int*)a - *(int*)b;
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int i, j, k;
scanf("%d",&n);
for (i = 0; i < n; i++) scanf("%d",&a[i]);
qsort(a, n, sizeof(int), cmp);
sol[++nr] = a[0];
j=1;
while (a[0] * j <= a[n-1]) v[a[0] * j]=1, j++;
for (i=1; i < n; i++)
{
if (!v[a[i]])
{
sol[++nr] = a[i];
for (k = a[n-1]; k >= 1; k--)
if (v[k])
{
j=1;
while (k + (a[i] * j) <= a[n-1]) v[k + (a[i] * j)] = 1, j++;
}
}
}
printf("%d\n",nr);
for (i = 1; i <= nr; i++) printf("%d\n",sol[i]);
return 0;
}