Cod sursa(job #801865)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 25 octombrie 2012 12:06:17
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int v[1010], sol[1010], s[50010], i, j, k, n;
int main(){
	f>>n;
	for(i=1; i<=n; i++)
		f>>v[i];
	f.close();
	sort(v+1, v+n+1);
	s[0]=1;
	k=0;
	for(i=1; i<=n; i++)
	{
		if(s[ v[i] ]==0)
			sol[++k]=v[i];
		for(j=0; j+v[i]<=v[n]; j++)
			if(s[j]==1)
				s[ j+v[i] ]=1;
	}
	g<<k;
	g<<"\n";
	for(i=1; i<=k; i++)
		g<<sol[i]<<' ';
	g<<"\n";
	g.close();
	return 0;
}