Cod sursa(job #2125781)

Utilizator sichetpaulSichet Paul sichetpaul Data 8 februarie 2018 18:36:46
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>

using namespace std;
bool fr[1000001];
int dv[20],v[100001];
int main()
{ int x,i,nr,j,n,k,d,Max=0;
    ifstream f("pairs.in");
    ofstream g("pairs.out");
    f>>n;
    for (i=1;i<=n;++i) {
        f>>v[i];
        Max=max(Max,v[i]);
        fr[v[i]]=1;
    }
    int sol=(n-1)*n/2;
    for (i=1;i<=n;++i) {
        x=v[i];
        d=2;
        nr=0;
        while (x>1) {
            if (x%d==0) {
                ++nr;
                dv[nr]=d;
                while (x%d==0)
                    x/=d;
            }
            ++d;
        }
      for (j=1;j<=nr;++j)
      for (k=v[i]/dv[j]+1;dv[j]*k<=Max;++k)
        if (fr[dv[j]*k]==1) --sol;
    }
     g<<sol;
    return 0;
}