Pagini recente » Cod sursa (job #1049372) | Cod sursa (job #2309989) | Cod sursa (job #989025) | Cod sursa (job #1560876) | Cod sursa (job #2022058)
#include <bits/stdc++.h>
using namespace std;
bitset<50005>ok;
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)
if(!ok[v[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;
}