Cod sursa(job #2261033)

Utilizator LorenaMariaHantig Lorena LorenaMaria Data 15 octombrie 2018 21:02:00
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream in("pairs.in");
ofstream out("pairs.out");
long long n,m,k,s;
bool f[1000001],p[1000001],ok[1000001];
int main()
{ in>>n;
  for(int i=1;i<=n;i++)
    in>>m,f[m]=1;
  for(int i=2;i<=1000000;i++)
    if(!ok[i])
       for(int j=i*2;j<=1000000;j+=i)
         ok[i]=1,p[i]=i;
  for(int i=2;i<=1000000;i++)
  { if(!ok[i])
       continue;
    k=0;
    for(int j=i;j<=1000000;j+=i)
      k+=f[j];
    if(p[i]%2==1)
       s+=k*(k-1)/2;
    else
       s-=k*(k-1)/2;
  }
  out<<n*(n-1)/2-s;
  in.close();
  out.close();
  return 0;
}