Cod sursa(job #657667)

Utilizator maritimCristian Lambru maritim Data 7 ianuarie 2012 00:25:17
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#include<fstream>
#include<algorithm>
using namespace std;

ifstream f("economie.in");
ofstream g("economie.out");

#define MaxN 1010
#define MaxValori 50100

int N,MAX,A[MaxValori],B[MaxN],C[MaxN];

int main()
{
	f >> N;
	for(int i=1;i<=N;i++)
		f >> C[i];
	
	sort(C+1,C+N+1);
	
	for(int i=1;i<=N;i++)
		if(!A[C[i]])
		{
			B[++ MAX] = C[i]; A[C[i]] = 1;
			for(int j=1;j<=50000-C[i];j++)
				if(A[j])
					A[j+C[i]] = 1;
		}
	
	g << MAX << "\n";
	
	for(int i=1;i<=MAX;i++)
		g << B[i] << "\n";
	
	return 0;
}