Pagini recente » Cod sursa (job #2458741) | Cod sursa (job #2571387) | Cod sursa (job #1516780) | Cod sursa (job #1683010) | Cod sursa (job #755117)
Cod sursa(job #755117)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
#define vmax 50005
#define nmax 1005
ifstream f("economie.in");
ofstream g("economie.out");
int n, viz[vmax], a[nmax], rez[nmax];
void citeste(){
f >> n;
for(int i=1; i<=n; i++) f >> a[i];
sort(a+1, a+n+1);
}
void rezolva(){
for(int i=1; i<=n; i++){
if (viz[a[i]] == 1) continue;
for(int j=a[i]; j<vmax; j+=a[i]) viz[j] = 1;
for(int j=1; j<vmax; j++){
if (viz[j] == 0) continue;
if (j+a[i] < vmax)viz[j+a[i]] = 1;
}
rez[++rez[0]] = a[i];
}
g << rez[0] << "\n";
for(int i=1; i<=rez[0]; i++) g << rez[i] << "\n";
}
int main(){
citeste();
rezolva();
f.close();
g.close();
return 0;
}