Cod sursa(job #333037)

Utilizator bog29Antohi Bogdan bog29 Data 21 iulie 2009 12:29:56
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#define dmax 1000003
using namespace std;
ifstream in("pairs.in");
ofstream out("pairs.out");
int n,mx=0,t,k;
long long bune,tot,sol;
bool cr[dmax],temp[dmax];
int main()
{	int i,a,j;
	in>>n;
	for(i=1;i<=n;i++)
	{	in>>a;
		if(a>mx)
			mx=a;
		temp[a]=1;
	}
	in.close();
	for(i=2;i<=mx;i++)
	{	if(cr[i]==0)
		{	t=0;
			k=0;
			for(j=i;j<=mx;j+=i)
			{	if(temp[j]==1)
				{	t++;
					if(cr[j]==1)k++;
					cr[j]=1;
				}	
			}
			//out<<i<<" "<<t<<" "<<k<<'\n';
			if(t>1)
				bune+=( t*(t-1)/2 - k*(k-1)/2 );	
		}	
	}
	tot=n*(n-1)/2;
	sol=tot-bune;
	out<<sol;
	out.close();
	return 0;
}