Cod sursa(job #1309718)

Utilizator dr_personalityEftime Andrei Horatiu dr_personality Data 5 ianuarie 2015 23:07:58
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");

const int vmax = 50006, nmax = 1006;
int n, v[nmax], vrasp[nmax], lrasp;
bool d[vmax];

int main(){
	int player_unu=0;

	in>>n;
	for(int i = 1; i<=n; i++)
		in>>v[i];

	sort(v + 1, v + n + 1);

	d[0] = 1;

	for(int i = 1; i<=n; i++)
	{
		if(d[v[i]]==0)
		{
			vrasp[lrasp] = v[i];
			lrasp++;

			for(int j = 0; j<vmax - v[i]; j++)
				if(d[j + v[i]]==0)
					d[j + v[i]] = d[j];
		}
	}

	out<<lrasp<<'\n';
	for(int i = 0; i<lrasp; i++)
		out<<vrasp[i]<<'\n';

	return player_unu;
}