Pagini recente » Cod sursa (job #2502258) | Cod sursa (job #254839) | Cod sursa (job #1422318) | Cod sursa (job #151961) | Cod sursa (job #3163054)
#include <fstream>
#include <algorithm>
#define limit 50000
#define DIM 1001
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n;
int sol;
int solList[DIM];
int v[DIM];
bool sums[limit + 1];
void addSums(int value) {
for (int i = 0; i <= limit - value; i++) {
if (sums[i]) {
for (int j = i + value; j <= limit; j += value) {
if (sums[j])
break;
sums[j] = true;
}
}
}
}
int main()
{
sums[0] = true;
fin >> n;
for (int i = 1; i <= n; i++) {
fin >> v[i];
}
sort(v + 1, v + n + 1);
for (int i = 1; i <= n; i++) {
if (!sums[v[i]]) {
solList[++sol] = v[i];
addSums(v[i]);
}
}
fout << sol;
for (int i = 1; i <= sol; i++) {
fout << "\n" << solList[i];
}
}