Pagini recente » Cod sursa (job #1551549) | Cod sursa (job #1892556) | Cod sursa (job #1001307) | Cod sursa (job #1318175) | Cod sursa (job #2502893)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
const int VMAX = 50005;
bool dp[VMAX];
vector<int>sol;
vector<int>v;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ifstream cin("economie.in");
ofstream cout("economie.out");
int n, x;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
v.push_back(x);
}
sort(v.begin(), v.end());
dp[0] = 1;
for (int i = 0; i < (int)v.size(); i++)
{
if(!dp[v[i]])
{
sol.push_back(v[i]);
for (int j = 0 ; j <= VMAX-5-v[i]; j++)
if (dp[j])
dp[j + v[i]] = 1;
}
}
cout << sol.size() << "\n";
for (int i = 0; i < (int)sol.size(); i++)
cout << sol[i] << "\n";
return 0;
}