Pagini recente » Cod sursa (job #2387781) | Cod sursa (job #1789893) | Cod sursa (job #2616701) | Cod sursa (job #495083) | Cod sursa (job #1752463)
#include <cstdio>
#include <algorithm>
#define VMax 50000
#define NMax 1000
using namespace std;
char is[VMax+1];
int v[NMax+1];
int a[NMax+1];
int main(){
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int i,j,N,ans,lim;
scanf("%d",&N);
for(i = 1; i <= N; ++i) scanf("%d",&v[i]);
sort(v+1,v+N+1); lim = v[N];
is[0] = 1;
for(ans = 0, i = 1; i <= N; ++i)
if( !is[ v[i] ] )
{
a[ ++ans ] = v[i];
for(j = 0; j <= lim - v[i]; ++j)
if( is[j] ) is[ j + v[i] ] = 1;
}
printf("%d\n",ans);
for(i = 1; i <= ans; ++i) printf("%d\n", a[i] );
return 0;
}