Pagini recente » Cod sursa (job #1803104) | Cod sursa (job #2446419) | Cod sursa (job #2395771) | Cod sursa (job #2100327) | Cod sursa (job #1415900)
/*Let the game begin... */
#include <fstream>
#define dim 1000001
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
int n,i,j,m,v[dim],x,sol,nr;
bool f[dim];
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>x;
f[x]=1;
m=max(m,x);
}
for(i=1;i<=m;i++){
nr=0;
if(v[i]){
for(j=i;j<=m;j+=i){
nr+=f[j];
}
if(v[i]%2==0){
sol+=nr*(nr-1)/2;
}
else{
sol-=nr*(nr-1)/2;
}
}
else{
for(j=i;j<=m;j+=i){
nr+=f[j];
v[j]++;
}
sol+=nr*(nr-1)/2;
}
}
sol=n*(n-1)/2-sol;
fout<<sol<<"\n";
return 0;
}