Cod sursa(job #2732370)

Utilizator hurjui12AlexandruHurjui Alexandru-Mihai hurjui12Alexandru Data 28 martie 2021 22:06:00
Problema Economie Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <algorithm>
using namespace std;

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

int main()
{
	int i, j, n, m, vmax;
	int buff[1001], a[1001];
	bool b[1001] = {};
	int val[100001] = {};
	
	fin >> n;
	for (i = 1; i<=n; i++)
	{
		fin >> buff[i];
		val[buff[i]] = 1;
	}
	sort(buff+1, buff+n+1);
	m = 0;
	for (i = 1; i<=n; i++)
		if (buff[i-1] != buff[i])
			a[++m] = buff[i];
	
	vmax = a[m];
	for (i = 1; i<vmax; i++)
		if (val[i] != 0)
			for (j = 1; j<=m; j++)
				val[i+a[j]] = 2;
	
	for (i = m; i>=1; i--)
		if (val[a[i]] == 1)
			b[i] = 1;
	j = 0;
	for (i = 1; i<=m; i++)
		if (b[i] == 1)
			j++;
	fout << j << '\n';
	for (i = 1; i<=m; i++)
		if (b[i] == 1)
			fout << a[i] << '\n';
	return 0;
}