Cod sursa(job #1777799)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 12 octombrie 2016 21:40:25
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

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

int N, testCount, X, solution;
bitset<100010>v;

void ciur(int i)
{
    for(int j = i; j <= 2 * X; j += i)
    {
        if(v[j] == 0)
        {
            v[j] = 1;
            solution -= j;
        }
    }
}

int main()
{
    fin >> testCount;

    while(testCount --)
    {
        fin >> X;

        v.reset();
        solution = (2 * X)*(2 * X + 1) / 2;
        int i;

        for(i = 2; i * i <= X; i ++)
        {
            if(X % i == 0)
            {
                ciur(i);
            }
        }

        if(X % i == 0)
        {
             ciur(i);
        }

        if(v[X] == 0)
        {
            solution -= X;
        }
        if(v[2 * X] == 0)
        {
            solution -= 2 * X;
        }

        fout << solution << '\n';
    }

    return 0;
}