Pagini recente » Cod sursa (job #935637) | Cod sursa (job #2884100) | Cod sursa (job #1401292) | Cod sursa (job #299237) | Cod sursa (job #288426)
Cod sursa(job #288426)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
#define INPUT "economie.in"
#define OUTPUT "economie.out"
#define pb push_back
const int NMAX = 1001;
FILE *fin = fopen(INPUT, "r"), *fout = fopen(OUTPUT, "w");
int N;
vector<int> G;
int V[ NMAX ], Valid[ NMAX ], P[ NMAX ];
void readData()
{
int X;
fscanf(fin, "%d", &N);
for(int i = 1; i <= N; ++i)
{
fscanf(fin, "%d", &V[ i ]);
P[ i ] = i;
}
}
inline int cmp(int A, int B)
{
return V[ A ] < V[ B ];
}
void solve()
{
int cont = 0;
vector<int>::iterator it;
for(int i = 1; i <= N; ++i)
{
if(!Valid[ i ])
{
for(int j = i + 1; j <= N; ++j)
if(V[ P[ j ] ] % V[ P[ i ] ] == 0)
Valid[ j ] = 1;
++cont;
G.pb(V[ P[ i ] ]);
}
}
fprintf(fout, "%d\n", cont);
for(it = G.begin(); it != G.end(); ++it)
fprintf(fout, "%d\n", *it);
}
int main()
{
readData();
sort(P+1, P+N+1);
solve();
fclose(fin);
fclose(fout);
return 0;
}