Pagini recente » Cod sursa (job #1772608) | Cod sursa (job #1877547) | Cod sursa (job #2185122) | Cod sursa (job #2759134) | Cod sursa (job #110607)
Cod sursa(job #110607)
#include <stdio.h>
#include <stdlib.h>
int a[1001], n, sol[1001], 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;
v[0] = 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 = 0; k < a[n-1]; k++) if (v[k] && k+a[i] <=a [n-1]) v[k+a[i]] = 1;
}
}
printf("%d\n",nr);
for (i = 1; i <= nr; i++) printf("%d\n",sol[i]);
return 0;
}