Pagini recente » Cod sursa (job #2971964) | Cod sursa (job #2772537) | Cod sursa (job #309200) | Cod sursa (job #3188379) | Cod sursa (job #2121919)
#include <cstdio>
#include <algorithm>
const int MAXN = 1e3;
const int MAXV = 5e4;
int v[MAXN], ans[MAXN];
bool r[MAXV + 1];
int main() {
int n, e;
FILE *f = fopen("economie.in", "r");
fscanf(f, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(f, "%d", &v[i]);
}
std::sort(v, v + n);
ans[0] = v[0];
for (int i = ans[0]; i <= MAXV; i += ans[0]) {
r[i] = 1;
}
e = 1;
for (int i = 1; i < n; ++i) {
if (!r[v[i]]) {
ans[e++] = v[i];
for (int j = 0; j + v[i] <= v[n - 1]; ++j) {
if (r[j]) {
r[v[i] + j] = 1;
}
}
}
}
fclose(f);
f = fopen("economie.out", "w");
fprintf(f, "%d\n", e);
for (int i = 0; i < e; ++i) {
fprintf(f, "%d\n", ans[i]);
}
fclose(f);
return 0;
}