Cod sursa(job #182329)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 20 aprilie 2008 18:19:07
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
//ECONOMIE INFOARENA

#include <fstream.h>
//using namespace std;

#define NMAX 1024
#define VMAX 50010

ifstream fin("economie.in");
ofstream fout("economie.out");
unsigned int NR[VMAX];

int main()
{
	NR[0]=1;
	int n,A[NMAX],SOL[NMAX],Sol=0;
	int i,j;
	fin>>n;
	for (i=1;i<=n;i++)
	{
		fin>>A[i];
	}
	for (i=1;i<=n-1;i++)
		for(j=i+1;j<=n;j++)
			if (A[i]>A[j])
			{
				A[i]+=A[j];
				A[j]=A[i]-A[j];
				A[i]-=A[j];
			}
	for (i=1;i<=n;i++)
	{
		for (j=A[i];j<VMAX-1;j++)
			if (NR[j-A[i]]!=0)
				NR[j]++;
		if (NR[A[i]]==1)
		{
			Sol++;
			SOL[Sol]=A[i];
		}

	}
	int max=0;
	for (i=1;i<=n;i++)
		if (NR[A[i]]==1)
			max++;
	fout<<Sol<<'\n';
	for (i=1;i<=Sol;i++)
		fout<<SOL[i]<<'\n';
	fout.close();
	return 0;
}