Cod sursa(job #541522)

Utilizator CiurelVictorCiurel Victor CiurelVictor Data 25 februarie 2011 11:55:12
Problema Light2 Scor 10
Compilator cpp Status done
Runda Romanian Master in Mathematics and Sciences 2011, Ziua 1 Marime 0.57 kb
#include<stdio.h>

long long n,a[100],b[100],s,max;
int i,j,k,l,ok;

int main()
{
	freopen("light2.in","r",stdin);
	freopen("light2.out","w",stdout);
	
	scanf("%lld %d",&n,&k);
	
	for(i=1;i<=k;i++)
	{
		scanf("%lld",&a[i]);
		
		s=n/a[i];
		ok=1;
		
		for(j=1,l=0;j<i;j++)
		{
			if(a[i]%a[j]==0)
			{
				s*=-1;
				ok*=-1;
			}
			else
			{
				l++;
				b[l]=a[j];
			}
		}	

		max+=s;
		
		for(j=1;j<=l;j++)
			if(ok==1)
				max-=(((n/a[i])/b[j])*2);
			else
				max+=(((n/a[i])/b[j])*2);
	}
	
	printf("%lld",max);
	
	return 0;
}