Cod sursa(job #2314573)

Utilizator Dragomiralexandru621@yahoo.comDragomir ionut alexandru [email protected] Data 8 ianuarie 2019 19:26:06
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream f("pairs.in") ;
ofstream g("pairs.out") ;

long long nr , fr[10000000] , c[10000000] , maxi = 0 , n , sol , t ;

int main()
{
    f >> n ;
    for( int i = 1 ; i <= n ; i ++ )
    {
        long long x ;
        f >> x ;
        c[x] = 1 ;
        maxi = max( x , maxi ) ;
    }
    for( int i = 2 ; i < maxi ; i ++ )
    if( fr[i] == 0 )
        for( int j = i ; j < maxi ; j = j + i )
                   fr[j] ++ ;
    for ( int i = 2 ; i * i < maxi ; i ++ )
        for( int j = i * i ; j < maxi ; j = j + i * i )
           fr[j] = -1 ;
    for(long long i = 2; i < maxi; i++)
    {
        if(fr[i] == -1)
            continue ;
            long long nr = 0;
            for(long long j = i ; j < maxi ; j = j + i)
                {if(c[j] == 1)
                nr++;}
             t = nr * (nr - 1) / 2;
            if(fr[i] % 2 == 0)
                sol = sol - t;
            else sol = sol + t;

    }
    t = n * ( n - 1 ) / 2 ;
    g << t - sol ;

}