Cod sursa(job #3306547)

Utilizator Costy2345Costi Dimian Costy2345 Data 12 august 2025 01:41:48
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("pairs.in");
ofstream fout("pairs.out");

const int NMAX = 100001;

int n;
int v[NMAX];
int cnt[1000001];
int main()
{
    fin >> n;
    int vmax = -1;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
        vmax = max(vmax, v[i]);
    }

    for(int i = 1; i <= vmax; i++)
    {
        for(int j = 1; j <= n; j++)
        {
            if(v[j] % i == 0)
            {
                cnt[i]++;
            }
        }
        // cout << i << ": " << cnt[i] << "\n";
    }
    
    int dp[vmax + 1];
    for(int d = vmax; d >= 1; d--)
    {
        long long int total = cnt[d] * (cnt[d] - 1) / 2;
        for(int i = 2 * d; i <= vmax; i += d)
        {
            total -= dp[i];
        }
        dp[d] = total;
    }
    fout << dp[1];
    return 0;
}