Pagini recente » Cod sursa (job #2374222) | Cod sursa (job #1819595) | Cod sursa (job #2453283) | Cod sursa (job #1491326) | Cod sursa (job #3253894)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin ("economie.in");
ofstream fout("economie.out");
vector<int> v;
int w[50001];
int ales[10001];
int main()
{
int n, z = 0;
cin >> n;
v.resize(n+1);
for(int i = 0; i<n; i++)
cin >> v[i];
//cout << v[i];}
sort(v.begin(), v.end()-1);
w[0] = 1;
for(int i = 0; i < n; i++)
{
//cout << v[i] << ' ';
if(!w[v[i]])
{
for(int j = v[i]; j <= v[n-1]; j++)
{
w[j] = max(w[j], w[j-v[i]]);
}
ales[++z] = v[i];
}
// for(int j = 1; j<=v[n-1]; j++) cout << w[j] << ' ';
//cout << endl;
}
cout << z << '\n';
for(int i = 1; i<=z; i++) cout << ales[i] << '\n';
return 0;
}