Cod sursa(job #954407)

Utilizator dragoscri_cjCrisan Dragos dragoscri_cj Data 29 mai 2013 09:14:26
Problema Sum Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<iostream>
#include<fstream>
#include<algorithm>
#include<cmath>
using namespace std;
long long n,i,j,m,fr[2000001],d,s,cop;
short int v;
int main()
{
    ifstream f("sum.in");
    ofstream g("sum.out");
    f>>m;
    for(i=1;i<=m;i++)
    {
        f>>n;
        s=2*n*(2*n+1)/2;
        d=2;
        v=0;
        cop=n;
        while(n>1)
        {
            if(n%d==0)
            {
                n=n/d;
                v=1;
            }
            else
            {
                if(v==1)
                    for(j=d;j<=2*cop;j=j+d)
                    {
                        if(fr[j]!=i)
                            s=s-j;
                        fr[j]=i;
                    }
            v=0;
            d++;
            }
        }
        n=cop;
        for(j=d;j<=2*n;j=j+d)
        {
            if(fr[j]!=i)
                s=s-j;
            fr[j]=i;
        }
        g<<s<<'\n';
    }
    f.close();
    g.close();
    return 0;
}