Pagini recente » Cod sursa (job #1960527) | Cod sursa (job #2953052) | Cod sursa (job #1655601) | Cod sursa (job #532751) | Cod sursa (job #2575705)
#include <fstream>
#include <algorithm>
#include <cstdint>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
bool b[50005];
int v[1002],c[1002];
int main()
{ int n;
fin>>n;
int index=1;
int MIN=INT32_MAX,MAX=0;
for(int i=1;i<=n;i++)
{ fin>>v[i];
MIN=min(MIN,v[i]);
MAX=max(MAX,v[i]);
}
sort(v+1,v+n+1);
for(int i=1;i<=n;i++)
if(b[v[i]]==0)
{
c[index++]=v[i];
b[v[i]]=1;
for(int j=MIN;j<=MAX-v[i];j++)
if(b[j])
b[j+v[i]]=1;
}
fout<<index-1<<'\n';
for(int i=1;i<index;i++) fout<<c[i]<<'\n';
}