Cod sursa(job #3258366)

Utilizator PetreIonutPetre Ionut PetreIonut Data 22 noiembrie 2024 11:20:11
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda cex_3 Marime 0.61 kb
#include <fstream>
#include <bitset>

using namespace std;

int n , m , a[100005] , nr , Max;
bool ok[1000005];

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

void ciur(int a[] , int &nr , int Max , int n){
    for(int i=2;i<=Max/2;i++){
        int k=0;
        for(int j=i;j<=Max;j+=i){
            if(ok[j]==true) k++;
        }
        if(k>=3) nr-=k*(k-1)/2;
        else if(k==2) nr--;
    }
}

int main()
{
    f >> n;
    for(int i=1;i<=n;i++){
        f >> a[i];
        Max=max(Max , a[i]);
        ok[a[i]]=true;
    }
    nr=n*(n-1)/2;
    ciur(a , nr , Max , n);
    g << nr;
}