Pagini recente » Cod sursa (job #1669260) | Cod sursa (job #2203253) | Cod sursa (job #121701) | Cod sursa (job #3188292) | Cod sursa (job #1308172)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin( "economie.in" );
ofstream fout( "economie.out" );
const int kmax = 1000;
const int nmax = 50000;
int a[ kmax ], s[ kmax ];
bool d[ nmax + 1 ];
int main() {
int n, m, ans;
fin >> n;
m = 0;
for( int i = 0; i < n; ++ i ) {
fin >> a[ i ];
m = m < a[ i ] ? a[ i ] : m;
}
sort( a, a + n );
ans = 0;
d[ 0 ] = 1;
for( int i = 0; i < n; ++ i ) {
if ( d[ a[ i ] ] == 0 ) {
s[ ans ++ ] = a[ i ];
for( int j = 0; j <= m - a[ i ]; ++ j ) {
if ( d[ j ] ) {
d[ j + a[ i ] ] = 1;
}
}
}
}
fout << ans << "\n";
for( int i = 0; i < ans; ++ i ) {
fout << s[ i ] << "\n";
}
fin.close();
fout.close();
return 0;
}