Pagini recente » Cod sursa (job #2284908) | Cod sursa (job #1867916) | Cod sursa (job #2954604) | Cod sursa (job #1784111) | Cod sursa (job #2401834)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ( "economie.in" );
ofstream fout ( "economie.out" );
int n;
int a[1010];
int luatsum[50005];
vector<int>sol;
int main() {
fin >> n;
for ( int i = 1; i <= n; i++ )
fin >> a[i];
sort ( a + 1, a + n + 1 );
luatsum[0] = 1;
for ( int i = 1; i <= n; i++ ) {
if ( luatsum[a[i]] == 0 ) {
sol.push_back ( a[i] );
for ( int j = 0; j + a[i] <= 50000; j++ )
if ( luatsum[j] == 1 )
luatsum[j + a[i]] = 1;
}
}
fout << sol.size() << '\n';
for ( auto it : sol )
fout << it << '\n';
return 0;
}