Pagini recente » Cod sursa (job #3125872) | Cod sursa (job #2811425) | Cod sursa (job #1726937) | Cod sursa (job #106515) | Cod sursa (job #2875686)
#include <bits/stdc++.h>
#define MAXN 1000
#define MAXV 50000
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n, arr[MAXN];
bitset<MAXV + 1> fr;
int main() {
fin >> n;
for (int i = 0; i < n; i++)
fin >> arr[i];
sort(arr, arr + n);
int maxi = arr[n - 1];
fr[0] = 1;
vector<int> nrs;
for (int i = 0; i < n; i++) {
if (fr[arr[i]])
continue;
nrs.push_back(arr[i]);
for (int j = 0; arr[i] + j <= maxi; j++)
if (fr[j])
fr[arr[i] + j] = 1;
}
fout << nrs.size() << '\n';
for (auto &nr: nrs)
fout << nr << ' ';
return 0;
}