Cod sursa(job #390033)

Utilizator indestructiblecont de teste indestructible Data 2 februarie 2010 19:47:24
Problema Indep Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <stdio.h>
#define NMAX 501
#define LMAX 1000
int n,v[NMAX];
long long best[LMAX];
void read()
{
	scanf("%d",&n);
	int i;
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
}
int cmmdc(int a,int b)
{
	int r;
	while(b)
	{
		r=a%b;
		a=b;
		b=r;
	}
	return a;
}
void solve()
{
	int i,j;
	for (i=1; i<=n; i++)
	{
		for (j=1; j<=1000; j++)
			best[cmmdc(v[i],j)]+=best[j];
		best[v[i]]++;
	}
}
int main()
{
	freopen("indep.in","r",stdin);
	freopen("indep.out","w",stdout);
	read();
	solve();
	printf("%lld\n",best[1]);
	return 0;
}