Pagini recente » Autentificare | Cod sursa (job #1093640) | simulare-cartita-19b | Cod sursa (job #252783) | Cod sursa (job #333043)
Cod sursa(job #333043)
#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;
}