Cod sursa(job #2505590)

Utilizator victoreVictor Popa victore Data 7 decembrie 2019 02:55:00
Problema Fractii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
//check check check
#include<iostream>
#include<vector>
#include<algorithm>
#include<fstream>
#include<queue>
#include<cstring>
#include<map>
#include<iomanip>
#include<set>

#define ll long long
#define pb(x) push_back(x)

using namespace std;

typedef pair<int,int> ii;

const int NMAX = 1e6+5;
ll phi[NMAX];
bool viz[NMAX];

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


int main()
{
    ll i,j,N;

    fin>>N;
    for(i = 1 ; i <= N ; ++i)
        phi[i] = i;

    for(i = 2 ; i <= N ; ++i)
    {
        if(viz[i])
            continue;
        for(j = i ; j <= N ; j += i)
        {
            viz[j] = 1;
            phi[j] -= phi[j]/i;
        }
    }
    ll cnt = 0;
    for(i = 2 ; i <= N ; ++i)
        cnt += phi[i];

    cnt<<=1;
    cnt|=1;
    fout<<cnt;
}