Pagini recente » Cod sursa (job #2026500) | Cod sursa (job #2494225) | Cod sursa (job #669247) | Cod sursa (job #13196) | Cod sursa (job #2106327)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n, a[1005], fr[1005], sol[1005], maxim, nr, t;
void citire()
{
ifstream fin("economie.in");
fin>>n;
for(int i=0;i<n;++i)
fin>>a[i];
}
void fct()
{
maxim=a[n-1];
fr[0]=1;
for(int j=0;j<n;++j)
{
if(fr[a[j]]==0)
{
nr++;
sol[t++]=a[j];
}
for(int i=0;i<=maxim;++i)
{
if(i+a[j]<=50000&&fr[i]==1)
{
fr[i+a[j]]=1;
}
}
}
}
void afis()
{
ofstream fout("economie.out");
fout<<nr<<"\n";
for(int i=0;i<t;++i)
fout<<sol[i]<<" ";
}
int main()
{
citire();
sort(a,a+n);
fct();
afis();
return 0;
}