Cod sursa(job #299252)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 6 aprilie 2009 17:31:12
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#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];
}

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