Pagini recente » Cod sursa (job #1720429) | Cod sursa (job #1328754) | Cod sursa (job #2350595) | Cod sursa (job #2685387) | Cod sursa (job #110461)
Cod sursa(job #110461)
#include <iostream>
#include <algorithm>
const int maxn = 1001;
const int maxval = 50005;
FILE *in = fopen("economie.in","r"), *out = fopen("economie.out","w");
int n;
int a[maxn];
int fol[maxval];
int answ[maxn];
int main()
{
fscanf(in, "%d", &n);
for ( int i = 1; i <= n; ++i )
fscanf(in, "%d", &a[i]);
std::sort(a+1, a+n+1);
int cnt = 0;
for ( int i = 1; i <= n; ++i )
{
if ( !fol[ a[i] ] )
{
answ[++cnt] = a[i];
fol[ a[i] ] = 1;
for ( int j = 1; j + a[i] < maxval; ++j )
if ( fol[j] )
fol[j + a[i]] = 1;
}
}
fprintf(out, "%d\n", cnt);
for ( int i = 1; i <= cnt; ++i )
fprintf(out, "%d\n", answ[i]);
return 0;
}