Pagini recente » Cod sursa (job #1254553) | Cod sursa (job #374224) | Cod sursa (job #179615) | Cod sursa (job #2006229) | Cod sursa (job #2022039)
#include <bits/stdc++.h>
using namespace std;
bool ok[50005];
vector<int> v, sol;
int n;
int main()
{
ifstream fin ("economie.in");
ofstream fout ("economie.out");
fin >> n;
for (int i = 1; i <= n; ++i){
int x;
fin >> x;
v.push_back(x);
}
ok[0] = 1;
sort(v.begin(), v.end());
for (int i = 0; i < n; ++i){
int x = v[i];
bool ye = false;
for (int i = x; i <= 50000; ++i)
if(!ok[i] && ok[i-x]){
ye = true;
ok[i] = 1;
}
if(ye)
sol.push_back(x);
}
fout << sol.size() << "\n";
for (vector<int>::iterator it = sol.begin(); it != sol.end(); ++it)
fout << *it << "\n";
fin.close();
fout.close();
return 0;
}