Cod sursa(job #426157)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 26 martie 2010 15:11:28
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("economie.in");
ofstream fout("economie.out");

int V[2002],n,i,j,k,sol[50000],nrSol,affirmative,x,minim,Din[100000],suma;

int cmp(int i, int j)
	{
		return j>i;
	}

int main()

{
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>V[i];
	sort(V,V+n+1,cmp);
	k=2;
	Din[0]=1;
	for(i=1;i<=n;i++)
		if(Din[V[i]]==0)
		{
			sol[++nrSol]=V[i];
			for(j=0;j<=V[n];j++)
				if(Din[j] && j+V[i]<=V[n])
					Din[j+V[i]]=1;
		}
	
	fout<<nrSol<<"\n";
	for(i=1;i<=nrSol;i++)
		fout<<sol[i]<<"\n";
	return 0;
}