Pagini recente » Cod sursa (job #2562404) | Cod sursa (job #2344585) | Cod sursa (job #870228) | Cod sursa (job #1012962) | Cod sursa (job #2973130)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, v[1001], marked[50001];
vector<int> sol;
int main() {
freopen("economie.in", "r", stdin);
freopen("economie.out", "w", stdout);
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> v[i];
}
sort(v, v+n);
for (int i = 0; i < n; ++i) {
if (!marked[v[i]]) {
marked[v[i]] = 1;
sol.push_back(v[i]);
for (int k = 1; k < v[n-1]; ++k) {
if (marked[k]) {
marked[k + v[i]] = 1;
}
}
}
}
cout << sol.size() << "\n";
for (auto it : sol) {
cout << it << "\n";
}
return 0;
}