Pagini recente » Cod sursa (job #993666) | Cod sursa (job #1577417) | Cod sursa (job #827977) | Cod sursa (job #2500977) | Cod sursa (job #2656722)
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin( "economie.in" );
ofstream fout( "economie.out" );
const int MaxN = 1002;
const int MaxNr = 50000;
int v[MaxN];
int m[MaxN];
vector<int> t;
int f[MaxNr + 2];
int main() {
int n;
fin >> n;
for ( int i = 1; i <= n; ++i ) {
fin >> v[i];
}
sort( v + 1, v + n + 1 );
for ( int i = 1; i <= n; ++i ) {
if ( f[v[i]] == 0 ) {
t.push_back( v[i] );
f[v[i]] = 1;
for ( int j = 1; j <= MaxNr; ++j ) {
if ( f[j] == 1 && j + v[i] <= MaxNr ) {
f[j + v[i]] = 1;
}
}
}
}
fout << t.size() << "\n";
for ( int i = 0; i < t.size(); ++i ) {
fout << t[i] << "\n";
}
fin.close();
fout.close();
return 0;
}