Cod sursa(job #1424922)

Utilizator SwagginInMyJaysaaaaaaaaaaaas SwagginInMyJays Data 25 aprilie 2015 21:33:56
Problema Sum Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <cstdio>
#include <fstream>
#include <cstdlib>
#include <utility>
#include <algorithm>
#include <bitset>
#include <vector>
#include <map>
#include <queue>
#include <string>
#include <cstring>


#define ll long long
#define rep(i, a, b) for (int i = (a) ; i <= (b) ; ++i)

#define mp make_pair
#define pii pair <int, int>
#define SORT(x) sort ((x).begin(), (x).end() )
#define fi first

/*/ Fuck With me, u know i got it /*/

using namespace std;

static const int N = 200005;

int euler[N];

void HardEuler () {
    for ( int i = 1 ; i <= N ; ++i)
        euler[i] = i;
    for (int  i = 2  ; i <= N; i++) {
    if (euler[i] - i ) continue;
    for (int j = i ; j <= N; j += i)
        euler[j] /= i, euler[j] *= (i - 1 ); }
}


int main(){
    ifstream fin ("sum.in");
    ofstream fout ("sum.out");
    int ItsQueryTimeBitch, x, n;
    HardEuler();
    for (fin >> ItsQueryTimeBitch; ItsQueryTimeBitch; ItsQueryTimeBitch-- ) {
        fin >> x;
        fout << 1LL * euler[x] * 2  * x << "\n";
    }
    return 0;
}