Cod sursa(job #541775)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 25 februarie 2011 14:14:08
Problema Light2 Scor 10
Compilator cpp Status done
Runda Romanian Master in Mathematics and Sciences 2011, Ziua 1 Marime 0.84 kb
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
#define sh short int
#define LL unsigned int
#define pb push_back
int v[25],a[25];
LL N,ap;
sh K,nr;
inline void unic()
{
	int x=v[1];
	sh num=1;
	for (int i=2; i<=nr; ++i)
	{
		if (v[i]==v[i-1])
			++num;
		else
		{
			if (num&1)
				a[++a[0]]=x;
			x=v[i];
			num=1;
		}
	}
	if (num&1)
		a[++a[0]]=x;
}
inline void citire()
{
	freopen("light2.in","r",stdin);
	freopen("light2.out","w",stdout);
	scanf("%u%hd",&N,&K);
	for (sh i=1; i<=K; ++i)
		scanf("%d",&v[i]);
	nr=K;
	sort(v+1,v+1+nr);
	unic();
}
inline void light()
{
	sh num;
	for (LL i=a[1]; i<=N; ++i)
	{
		
		num=0;
		for (sh j=1; j<=a[0]; ++j)
		{
			if (i%a[j]==0)
				++num;
		}
		ap+=(num&1);
	}
	printf("%u",ap);
}
int main()
{
	citire();
	light();
	return 0;
}