Pagini recente » Cod sursa (job #2806644) | Cod sursa (job #3290594) | Cod sursa (job #559146) | Cod sursa (job #2637857) | Cod sursa (job #3259699)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
int n, i, j, v[1010], fr[50010], mx;
vector <int> selected;
int main()
{
in >> n;
for (i = 1; i <= n; i++)
{
in >> v[i];
mx = max(mx, v[i]);
}
sort(v+1, v+1+n);
fr[0] = 1;
for (i = 1; i <= n; i++)
{
if (!fr[v[i]])
{
for (j = v[i]; j <= mx; j++)
fr[j] = max(fr[j], fr[j-v[i]]);
selected.push_back(v[i]);
}
}
out << selected.size() << '\n';
for (auto ind : selected)
out << ind << '\n';
return 0;
}