Cod sursa(job #2532842)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 28 ianuarie 2020 14:37:32
Problema Sum Scor 45
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,x,i,j;
int v[317];
bool c[200001];
int p[9593], nrp;
int fact[100], nrf;

int main()
{
    for (i=2;i<=100000;i++)
        if (!c[i])
        {
            nrp++;
            p[nrp]=i;
            for (j=i*2;j<=100000;j+=i)
                c[j]=1;
        }

    f>>n;
    while (n--)
    {
        f>>x;
        nrf=0;
        for (i=1;p[i]<=x;i++)
            if (x%p[i]==0)
            {
                nrf++;
                fact[nrf]=p[i];
            }

        x*=2;
        memset(c, 0, x+1);
        long long s=(x*(x+1))/2;
        for (i=1;i<=nrf;i++)
            for (j=fact[i];j<=x;j+=fact[i])
            {
                if (!c[j])
                    s-=j;
                c[j]=1;
            }

        g<<s<<"\n";
    }
    return 0;
}