Cod sursa(job #2440600)

Utilizator marius004scarlat marius marius004 Data 18 iulie 2019 20:09:00
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>

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

const int NMAX = 100000;
int dp[NMAX + 5],n;

void precalc(){
    for(int i = 1;i <= NMAX;i++)
        dp[i] = i - 1;
    for(int i = 2;i <= NMAX / 2;i++)
        for(int j = i + i;j <= NMAX;j += i)
            dp[j] -= dp[i];
}

int main(){
    
    precalc();
    
    f >> n;
    
    for(int i = 0;i < n;i++){
        int x;
        f >> x;
        g << 2 * x * dp[x] << '\n';
    }
    
    f.close();
    g.close();
    return 0;
}