Cod sursa(job #316968)

Utilizator cvicentiuCiorbaru Vicentiu Marian cvicentiu Data 21 mai 2009 19:51:49
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <algorithm>
#define MaxN 1024
using namespace std;
fstream fin ("economie.in",ios::in);
fstream fout("economie.out",ios::out);
int v[MaxN],n,nrBif,aux;
char bif[50001],introd;
int rasp[MaxN];

int main(){
	fin>> n;
	for (int i = 1; i <= n; i++)
		fin>> v[i], bif[v[i]] = 1;
	for (int i = 1; i <= n-1; i++)
		for (int j = i+1; j <= n; j++)
			if (v[i] > v[j]) swap(v[i],v[j]);
	int maximum = v[n];

	for (int i = 1; nrBif < n; i++){
		aux = v[i];
		if (bif[ v[i] ] == 1){
			++introd;
			rasp[introd] = v[i];
			bif[ v[i] ] = 2;
			++nrBif;
			while (aux <= maximum){
				aux += v[i];
				if (bif[ aux ] == 1){
					bif[ aux ] = 2;
					++nrBif;
				}
			};
		};
	}			
	fout<<introd<<'\n';
	for (int i = 1; i <= introd; i++)
		fout<<rasp[i]<<'\n';

	return 0;
};