Pagini recente » Cod sursa (job #723246) | Cod sursa (job #2812917) | Cod sursa (job #1175592) | Cod sursa (job #1976814) | Cod sursa (job #111320)
Cod sursa(job #111320)
#include<stdio.h>
#include<algorithm>
using namespace std;
int nr[1010],ap[50100],sol[1010];
int main(){
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int n,i,j,max,min;
scanf("%d",&n);
max=0;
for(i=0;i<n;++i){
scanf("%d",&nr[i]);
if(nr[i]>max)
max=nr[i];
}
sort(nr,nr+n);
min=0;
for(i=0;i<n;++i){
if(ap[nr[i]]==0){
sol[min++]=nr[i];
ap[nr[i]]=1;
for(j=1;j<=max;++j){
if(ap[j] && j+nr[i]<50010)
ap[j+nr[i]]=1;
}
}
}
printf("%d\n",min);
for(i=0;i<min;++i)
printf("%d\n",sol[i]);
fclose(stdin);
fclose(stdout);
return 0;
}