Cod sursa(job #111489)

Utilizator victorsbVictor Rusu victorsb Data 30 noiembrie 2007 01:33:30
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <cstdio>
#include <bitset>
#include <algorithm>

using namespace std;

#define Nmax 1024
#define Vmax 50015

int n;
int sir[Nmax];
bitset<Vmax> v;

void citire()
{
	int i;

	scanf("%d\n", &n);
	for (i = 1; i <= n; ++i)
		scanf("%d\n", &sir[i]);
}

void solve()
{
	int i, j, ct = 0;

    sort(sir+1, sir+n+1);

	for (i = 1; i <= n; ++i)
		if (!v[sir[i]])
		{
			for (j = sir[i]; j <= sir[n]; j += sir[i])
				v[j] = 1;
			++ct;
		}

	printf("%d\n", ct);
}

int main()
{
	freopen("economie.in", "r", stdin);
	freopen("economie.out", "w", stdout);

	citire();
	solve();

	return 0;
}