Cod sursa(job #1875685)

Utilizator mircearoataMircea Roata Palade mircearoata Data 11 februarie 2017 14:10:22
Problema Sum Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n,maxx;
long long euler[100001];
int v[100001];

int main()
{
    in>>n;
    for(int i = 1; i<=n; i++)
    {
        in>>v[i];
        maxx=max(maxx,v[i]);
    }
    for(int i = 1; i<=maxx; i++)
        euler[i]=i-1;
    for(int i = 2; i<=maxx; i++)
    {
        for(int j = 2; j<=maxx/i; j++)
        {
            euler[i*j]-=euler[i];
        }
    }
    for(int i = 1; i<=n; i++)
    {
        out<<v[i]*2*euler[v[i]]<<'\n';
    }
    return 0;
}