Pagini recente » Cod sursa (job #3033352) | Cod sursa (job #2100405) | Cod sursa (job #1192978) | Cod sursa (job #2733984) | Cod sursa (job #969520)
Cod sursa(job #969520)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define NMAX 1001
#define VMAX 50000
int i, j, N;
int v[NMAX];
bool Used[VMAX * 2];
vector <int> Solution;
vector <int> :: iterator it;
int main() {
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%i", &N);
for (i = 1; i <= N; ++i)
scanf("%i", &v[i]);
sort(v + 1, v + N + 1);
for (i = 1; i <= N; ++i) {
if (!Used[v[i]]) {
Used[v[i]] = true;
Solution.push_back(v[i]);
for (j = 0; j <= VMAX; ++j) {
if (Used[j])
Used[j + v[i]] = true;
}
}
}
printf("%i\n", Solution.size());
for (it = Solution.begin(); it != Solution.end(); ++it)
printf("%i\n", *it);
return 0;
}