Pagini recente » Solutii preONI 2006 - Runda a 3-a | Cod sursa (job #2990855) | Cod sursa (job #1588854) | Cod sursa (job #2413924) | Cod sursa (job #2394466)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,maxim,i,j,k,a[1005],af[1005],d[50005];
int main()
{
fin >> n;
maxim=-1;
for (i=1;i<=n;i++)
{
fin >> a[i];
if (a[i]>maxim) maxim=a[i];
}
sort (a+1,a+n+1);
k=1;
af[k]=a[1];
for (i=1;a[1]*i<=maxim;i++) d[a[1]*i]=1;
d[0]=1;
for (i=2;i<=n;i++)
{
if (d[a[i]]==0)
{
k++;
af[k]=a[i];
for (j=maxim-a[i];j>=0;j--) if (d[j]==1) d[j+a[i]]=1;
}
}
fout << k << "\n";
for (i=1;i<=k;i++) fout << af[i] << "\n";
return 0;
}