Cod sursa(job #281575)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 15 martie 2009 13:18:40
Problema Economie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <stdio.h>
#include <algorithm>
#define N 1005
using namespace std;
int n,v[1012],sol[1012],r,marc[60005],vmax;
int main()
{
	freopen("economie.in","r",stdin);
	freopen("economie.out","w",stdout);
	int i,j,k;
	scanf("%d",&n);
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
	sort(v+1,v+n+1);
	vmax=v[n];
	marc[0]=1;
	for (i=1; i<=n; i++)
		if (marc[v[i]]==0)
		{
			sol[++r]=v[i];
		    for (j=0; j<=vmax; j++)
				if (marc[j])
					marc[j+sol[r]]=1;
		}
	printf("%d\n",r);
	for (i=1; i<=r; i++)
		printf("%d\n",sol[i]);
return 0;
}