Pagini recente » Cod sursa (job #1327720) | Cod sursa (job #2510121) | Cod sursa (job #2150464) | Cod sursa (job #2615511) | Cod sursa (job #2022056)
#include <bits/stdc++.h>
using namespace std;
bool ok[50005];
vector<int> sol;
int v[1005];
int n;
int main()
{
ifstream fin ("economie.in");
ofstream fout ("economie.out");
fin >> n;
for (int i = 0; i < n; ++i){
int x;
fin >> x;
v[i] = x;
}
ok[0] = 1;
sort(v, v+n);
for (int i = 0; i < n; ++i){
int x = v[i];
if(ok[x])
continue;
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;
}