Pagini recente » Cod sursa (job #945925) | Cod sursa (job #2307941) | Cod sursa (job #151349) | Cod sursa (job #3219244) | Cod sursa (job #2990720)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int Nmax=1005;
int v[Nmax],sol[Nmax];
int f[50005];
int main()
{
int n,x;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
sort(v+1,v+n+1);
if (v[1]==1)
{
fout<<1<<'\n'<<1;
return 0;
}
int cnt=0;
for(int i=1;i<=n;i++)
{
if(f[v[i]]==0)
{
cnt++;
sol[cnt]=v[i];
int p=1;
while(p*v[i]<=v[n])
{
f[p*v[i]]=1;
for(int j=1;j<=cnt;j++)
{
int p2=1;
while(p2*sol[j]<=v[n]-p*v[i])
{
f[p*v[i]+p2*sol[j]]=1;
p2++;
}
}
p++;
}
}
}
fout<<cnt<<'\n';
for(int i=1;i<=cnt;i++)
{
fout<<sol[i]<<'\n';
}
return 0;
}