Pagini recente » Cod sursa (job #1208579) | Cod sursa (job #1239501) | Cod sursa (job #1149696) | Cod sursa (job #128765) | Cod sursa (job #490419)
Cod sursa(job #490419)
#include<fstream>
#include<algorithm>
using namespace std;
int v[1005],x[50005],nr,n,sol[1004];
int main()
{ifstream fin("economie.in");
ofstream fout("economie.out");
fin>>n;
int i,j;
for(i=1;i<=n;++i)
fin>>v[i];
x[0]=1;
sort(v+1,v+n+1);int m=n;
for(i=1;i<=m;++i)
if(v[i]==v[i+1])
;
else
v[++n]=v[i];
for(i=m+1;i<=n;++i)
v[i-m]=v[i];
n-=m;
for(i=1;i<=n;++i)
if(!x[v[i]])
{sol[++nr]=v[i];
for(j=0;j<=50000&&nr<n;++j)
if(j+v[i]<=50000)
if(x[j]&&x[j+v[i]]==0)
x[j+v[i]]=1;
}
fout<<nr<<'\n';
for(i=1;i<=nr;++i)
fout<<sol[i]<<" ";
fout.close();
fin.close();
return 0;
}