Pagini recente » Cod sursa (job #2382218) | Cod sursa (job #396752) | Cod sursa (job #2851767) | Cod sursa (job #374291) | Cod sursa (job #1845760)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int MAXN = 1005;
const int MAXV = 50005;
int N;
int V[MAXN];
bool E[MAXV];
int k, Sol[MAXN];
void Read()
{
fin>>N;
for(int i=1;i<=N;++i)
fin>>V[i];
sort(V+1,V+1+N);
}
void Solve()
{
E[0]=1;
for(int i=1;i<=N;++i)
{
if(E[V[i]]==0)
{
Sol[++k]=V[i];
for(int j=0;j+V[i]<=50005;++j)
if(E[j]==1)
E[j+V[i]]=1;
}
}
}
void Print()
{
fout<<k<<"\n";
for(int i=1;i<=k;++i)
fout<<Sol[i]<<"\n";
}
int main()
{
Read(); Solve(); Print();
return 0;
}