Pagini recente » Cod sursa (job #40549) | Cod sursa (job #607764) | Cod sursa (job #1768096) | Cod sursa (job #1176757) | Cod sursa (job #491285)
Cod sursa(job #491285)
#include <fstream>
#include <algorithm>
using namespace std;
const char InFile[]="economie.in";
const char OutFile[]="economie.out";
const int MaxN=1005;
const int MaxS=50005;
ifstream fin(InFile);
ofstream fout(OutFile);
int n,s,v[MaxN],m[MaxN];
char marked[MaxS];
int main()
{
fin>>n;
for(register int i=0;i<n;++i)
{
fin>>v[i];
}
fin.close();
sort(v,v+n);
marked[0]=1;
for(register int i=0;i<n;++i)
{
if(marked[v[i]]==0)
{
m[++m[0]]=v[i];
for(register int j=0;j<MaxS-1-v[i];++j)
{
if(marked[j]==1)
{
marked[j+v[i]]=1;
}
}
}
}
fout<<m[0]<<"\n";
for(register int i=1;i<=m[0];++i)
{
fout<<m[i]<<" ";
}
fout.close();
return 0;
}