Pagini recente » Cod sursa (job #341607) | Cod sursa (job #1304184) | Cod sursa (job #1124923) | Cod sursa (job #2292454) | Cod sursa (job #2529681)
#include <bits/stdc++.h>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
vector < int > cur_subset;
bitset < 50005 > c;
int main() {
int n;
in >> n;
int v[n + 5];
for (int i = 1; i <= n; i++) {
in >> v[i];
}
sort(v + 1, v + 1 + n);
for (int i = 1; i <= n; i++) {
if (!c[v[i]]) {
c[v[i]] = 1;
cur_subset.push_back(v[i]);
for (int j = 1; j <= 50000 - v[i]; j++) {
if (c[j]) {
c[j + v[i]] = 1;
}
}
}
}
out << cur_subset.size() << "\n";
for (auto it : cur_subset) {
out << it << "\n";
}
return 0;
}