Cod sursa(job #475169)

Utilizator darrenRares Buhai darren Data 6 august 2010 11:53:38
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <algorithm>

using namespace std;

void Read();
void Solve();
void Write();

int n, mins;
int v[1000];

int main()
{
	Read();
	Solve();
	Write();
}

void Read()
{
	ifstream fin("economie.in");
	fin >> n;
	for (int i = 1; i <= n; ++i)
		fin >> v[i];
	fin.close();
}

void Solve()
{
	sort(v + 1, v + n + 1);
	for (int i = 1; i <= n; ++i)
		if (v[i] != -1)
		{
			++mins;
			for (int j = i + 1; j <= n; ++j)
				if (v[j] != -1 && v[j] % v[i] == 0)
					v[j] = -1;

			bool ok = true;
			for (int j = i + 1; j <= n; ++j)
				if (v[j] != -1)
				{
					ok = false;
					break;
				}
			if (ok == true)
				break;
		}
}

void Write()
{
	ofstream fout("economie.out");
	fout << mins << '\n';
	for (int i = 1; i <= n; ++i)
		if (v[i] != -1)
			fout << v[i] << '\n';
	fout.close();
}