Pagini recente » Cod sursa (job #706469) | Cod sursa (job #644448) | Istoria paginii runda/da_i_pe_suflet | Cod sursa (job #235533) | Cod sursa (job #1384476)
#include <fstream>
#include <cstring>
#include <algorithm>
#define DIM 50010
using namespace std;
ifstream fin ("economie.in" );
ofstream fout("economie.out");
int N, V[DIM], i, j, k, F[DIM];
int T[DIM], nr, val;
void SetUp(){
fin >> N;
for(i = 1; i <= N; i ++){
fin >> V[i];
T[V[i]] = 1;
}
for(i = 0; i < DIM; i ++)
F[i] = DIM;
sort(V + 1, V + N + 1);
return;
}
void Code(){
F[0] = 0;
while(nr != N){
val ++;
for(k = DIM-1; k >= 0; k --)
if(F[k] != DIM)
for(j = k + V[val]; j <= DIM-1; j += V[val]){
if(F[j] == DIM && T[j] == 1)
nr ++;
F[j] = F[k] + 1;
}
}
fout << val << "\n";
for(i = 1; i <= val; i ++)
fout << V[i] << "\n";
return;
}
int main(){
SetUp();
Code();
return 0;
}