Cod sursa(job #945537)

Utilizator Kira96Denis Mita Kira96 Data 2 mai 2013 11:15:38
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
#include<algorithm>
#define DIM 50100
#define NM 1001

using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int v[NM],n,sol[NM],i,t,j,D[DIM],DI;
int main ()
{
	f>>n;
	for(i=1;i<=n;++i)
	{
		f>>v[i];
		if(v[i]>DI)
			DI=v[i];
	}
	sort(v+1,v+n+1);
	D[0]=1;
	for(i=1;i<=n;++i)
	{
		if(D[v[i]])
			continue;
		else
		{
			for(j=0;j<=DI-v[i];++j)
				if(D[j])
					D[j+v[i]]=1;
			sol[++t]=v[i];
		}
	}
	g<<t<<"\n";
	for(i=1;i<=t;++i)
		g<<sol[i]<<"\n";
	return 0;
}