Cod sursa(job #575665)

Utilizator andrei.finaruFinaru Andrei Emanuel andrei.finaru Data 8 aprilie 2011 17:14:32
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");
const int VMAX=50001;
int n,v[1005],sol[1005],c,viz[50005];
int main()
{
	int i,j,w;
	f>>n;
	for(i=1;i<=n;i++) f>>v[i];
	sort(v+1,v+n+1);
	viz[0]=1;
	for(i=1;i<=n;i++)
		if(!viz[v[i]])
			{ w=v[i];
			  for(j=0;j+w<VMAX;++j) if(viz[j]) viz[j+w]=1;
			  sol[++c]=w;
			}
	g<<c<<'\n';
	for(i=1;i<=c;++i) g<<sol[i]<<'\n';
	f.close(); g.close();
	return 0;
}