Cod sursa(job #2306751)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 22 decembrie 2018 20:30:10
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
int N,i,mx,j,x,f[1000005],v[1000005],sol,pr[1000005],ct;
int main()
{fin>>N;
 for(i=1;i<=N;i++)
    {fin>>x;
     mx=max(x,mx);
     v[x]=1;
    }
 for(i=2;i<=mx;i++)
    {if(f[i]==0)
       {pr[i]=1;
     for(j=i*2;j<=mx;j=j+i)
        f[j]++;
       }
    }
 for(i=2;i<=mx;i++)
    {if(pr[i]>=0)
       {ct=0;
        for(j=i;j<=mx;j+=i)
			{
				if(f[j/i]==0&&(j/i)%j!=0) pr[j]++;
				if(v[j]==1)   ct++;;
			}
        ct=ct*(ct-1)/2;
			if(pr[i]%2==1)   sol-=ct;
			else           sol+=ct;
       }
    }
    fout<<N*(N-1)/2-sol<<"\n";
}