Cod sursa(job #320653)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 5 iunie 2009 13:14:25
Problema Pairs Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <algorithm>
#define N 100005
#define P 1005
int n;
//int v[N][N];
int v[N];
long long rez;
using namespace std;
int cmmdc(int a,int b)
{
	int r;
	while (b)
	{
		r=a%b;
		a=b;
		b=r;
	}
	return a;
}
void citire()
{
	scanf("%d",&n);
	int i;
	for (i=1; i<=n; i++)
		scanf("%d",&v[i]);
	sort(v+1,v+n+1);
}
void rezolvare()
{
	int i,j,ant,ok;
	for (i=1; i<=n ; i++)
	{
		ant=v[i];
		for (j=i+1; j<=n; j++)
			if (v[j]!=v[i])
				if (v[j]!=ant)
					if (cmmdc(v[i],v[j])==1)
					{
						rez++;
						ant=v[j];
						ok=1;
					}
					else
					{
						ant=v[j];
						ok=0;
					}
				else
					if (ok==1)
						rez++;
	}
	printf("%lld",rez);
}
int main()
{
	freopen("pairs.in","r",stdin);
	freopen("pairs.out","w",stdout);
	citire();
	rezolvare();
	return 0;
}