Cod sursa(job #546789)

Utilizator drujbarultudorTudor Mihai Munteanu drujbarultudor Data 5 martie 2011 15:04:09
Problema Indep Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <cstdio>
int n,i,j,d;
int x[501];
long long a[501][1001];
int cmmdc (int x,int y)
{
	int r;
	while (y)
	{
		r=x%y;
		x=y;
		y=r;
	}
	return x;
}
int main ()
{
	freopen("indep.in","r",stdin);
	freopen("indep.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
		scanf("%d",&x[i]);
	a[0][0]=1;
	for (i=1;i<=n;i++)
	{
		for (j=0;j<=1000;j++)
		{
			d=cmmdc(j,x[i]);
			a[i][d]=a[i][d]+a[i-1][j];
		}
		for (j=0;j<=1000;j++)
			a[i][j]+=a[i-1][j];
}
	printf("%lld",a[n][1]);
}