Cod sursa(job #1698490)

Utilizator StarGold2Emanuel Nrx StarGold2 Data 4 mai 2016 16:43:21
Problema Mins Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

const int DIM = 1 << 20;
using namespace std;

int Phi[DIM], C, D; long long sol = 1;

int main() {

    FILE *input_file  = fopen( "mins.in" , "r" );
    FILE *output_file = fopen( "mins.out", "w" );

    fscanf( input_file, "%d%d", &C, &D );
    C--, D--;
    if (C>D) swap(C, D);

    for( int i = 1; i <= D; i ++ )
        Phi[i] = min(i, C + 1);

    for( int i = 2; i <= D; i ++ ) {
        if( Phi[i] != i && Phi[i] != C + 1)
            continue;

        Phi[i] --;
        for( int j = i + i; j <= D; j += i )
            Phi[j] = ( Phi[j] / i ) * ( i - 1 );
    }

    for( int i = 2; i <= C; i ++ )
        sol += 2 * Phi[i];
    for (int i = C + 1; i <= D; ++i)
        sol += Phi[i];

    fprintf( output_file, "%lld\n", sol );

    return 0;
}