Cod sursa(job #1580431)

Utilizator adu18sptAndrei Mircea adu18spt Data 25 ianuarie 2016 20:49:01
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
#include<algorithm>
using namespace std;

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

int v[1001],sol[1001],n,i,nr,j;
bool sume[5001];
int main()
{
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>v[i];
	}
	
	sort(v+1,v+1+n);
	
	for(i=1;i<=n;i++)
	{
		if(sume[v[i]]==0)
		{
			sol[++nr]=v[i];
			sume[v[i]]=1;
			
			for(j=1;j<=50000-v[i];j++)
			{
				if(sume[j]==1)
				sume[j+v[i]]=1;
			}
		}
			
				
	}
	
	fout<<nr<<"\n";
	for(i=1;i<=nr;++i)
	{
		fout<<sol[i]<<" ";
	}
	
}