Pagini recente » Cod sursa (job #2433185) | Cod sursa (job #1351751) | Cod sursa (job #2857599) | Cod sursa (job #2514821) | Cod sursa (job #2575688)
#include <fstream>
#include <algorithm>
#include <cstdint>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
bool b[50005];
int main()
{ int n;
fin>>n;
int v[n+5];
int c[n+5],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=v[i]*2;j<=MAX;j+=v[i]) b[j]=1;
for(int j=MIN;j<=MAX;j++) if(b[j]) b[j+v[i]]=1;
}
fout<<index-1<<'\n';
for(int i=1;i<index;i++) fout<<c[i]<<'\n';
}