Pagini recente » Cod sursa (job #2932317) | Cod sursa (job #415405) | Cod sursa (job #1684663)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
const int Nmax = 1005, Vmax = 50005;
int a[Nmax], B[Vmax], sol[Nmax],n, nr1;
bool Crit(int a, int b)
{
return a<b;
}
int main()
{
f>>n;
for(int i = 1; i <= n; i++) f>>a[i];
sort(a+1,a+n+1,Crit);
B[0] = 1;
for(int i = 1; i <= n; i++)
{
int val = a[i];
//cout<<val<<' ';
if(B[val] == 0)
{
//cout<<val<<' ';
sol[++nr1] = val;
int c = val;
while(c<=50000)
{
B[c] = 1;
c = c+val;
}
for(int j = 0; j <= a[n]; j++)
{
if(B[j] == 1 && val+j <= 50000) B[val+j] = 1;
}
}
}
g<<nr1<<'\n';
for(int i = 1; i <= nr1; i++ ) g<<sol[i]<<'\n';
return 0;
}