Pagini recente » Cod sursa (job #425880) | Cod sursa (job #2562961) | Cod sursa (job #2180451) | Cod sursa (job #9486) | Cod sursa (job #333037)
Cod sursa(job #333037)
#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;
}