Pagini recente » Cod sursa (job #789476) | Cod sursa (job #1542108) | Cod sursa (job #2815160) | Cod sursa (job #1881402) | Cod sursa (job #1672402)
#include <cstdio>
#include <algorithm>
using namespace std;
int k,nr,n,i,a[1001],d[1001],val[50001];
bool f[50001];
int main()
{
freopen("economie.in", "r", stdin);
freopen("economie.out", "w", stdout);
scanf("%d", &n);
for(i=1;i<=n;++i)
scanf("%d", &a[i]);
sort(a+1,a+n+1);
d[++k]=a[1];
for(i=a[1];i<=a[n];i+=a[1])
val[++nr]=i,f[i]=1;
for(i=2;i<=n;++i){
if(f[a[i]]==0){
d[++k]=a[i];
int nr1=nr;
for(int t=1;t*a[i]<=a[n];++t){
for(int j=1;j<=nr1&&t*a[i]+val[j]<=a[n];++j)
val[++nr]=val[j]+a[i]*t,f[val[nr]]=1;
}
}
}
printf("%d\n", k);
for(i=1;i<=k;++i)
printf("%d ",d[i]);
return 0;
}