Cod sursa(job #489632)

Utilizator cosmyoPaunel Cosmin cosmyo Data 3 octombrie 2010 01:43:51
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<cmath>
using namespace std;
const int NMAX=100005,MAX=1005;
char x[MAX];
int r,a[NMAX],p[MAX],n,nr;
long long rez;
int main()
{ifstream fin("pairs.in");
 ofstream fout("pairs.out");

    int i,sw,j;
    fin>>n;
        for(i=1;i<=n;++i)
         fin>>a[i];

        for(i=2;i<=1000;++i)
         {sw=1;
          r=sqrt(i);
             for(j=2;j<=r;++j)
                if(i%j==0)
                 {sw=0;break;}
            if(sw)
             p[++nr]=i;
         }

    for(i=1;i<=n;++i)
     for(j=1;j<=nr;++j)
      if(a[i]%p[j]==0)
        ++x[p[j]];

    for(i=1;i<=n;++i)
     {r=1;
        for(j=1;j<=nr;++j)
         if(a[i]%p[j]==0&&x[p[j]]>1)
          r+=x[p[j]]-1;
      rez+=n-r;
     }

 fout<<rez/2<<"\n";
 fin.close();
 fout.close();

 return 0;
}