Pagini recente » Cod sursa (job #484514) | Cod sursa (job #1940042) | Cod sursa (job #1815807) | Cod sursa (job #1315635) | Cod sursa (job #292204)
Cod sursa(job #292204)
#include<stdio.h>
#include<algorithm>
#include<stdlib.h>
#define MAXN 1001
#define MAXVAL 50001
using namespace std;
int i , j , k , N , v[MAXN], mark[MAXVAL] , nr , maxs , chosenones[MAXN];
int main()
{
FILE*in = fopen("economie.in","r");
FILE*out = fopen("economie.out","w");
fscanf(in,"%d",&N);
for( i = 1; i <= N ; i++)
{
fscanf(in,"%d",&v[i]);
if( v[i] > maxs) maxs = v[i];
}
sort(v + 1 , v + N + 1);
mark[0] = 1;
for( i = 1; i <= N ; i++)
{
if(!mark[v[i]])
{
chosenones[++k] = v[i];
for( j = 0 ; j <= maxs; j++)
if(mark[j] == 1 && j + v[i] <= maxs) mark[j + v[i]] = 1;
}
}
fprintf(out,"%d\n",k);
for( i = 1; i <= k ; i++)
fprintf(out, "%d\n",chosenones[i]);
return 0;
}