Cod sursa(job #1338864)

Utilizator andrei.arnautuAndi Arnautu andrei.arnautu Data 10 februarie 2015 14:36:26
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *fin=freopen("mins.in","r",stdin);
FILE *fout=freopen("mins.out","w",stdout);

int c, d;
int PHI[1000013];
long long int cnt = 1;

int main()
{
    scanf("%d %d", &d, &c);
    if(d < c)
        swap(c, d);
    --c, --d;

    PHI[1] = 1;
    for(int i = 2; i <= d; ++i)
        PHI[i] = i - 1;
    for(int i = 2; i <= c ; ++i)
        for(int j = 2 * i; j <= d; j += i)
            --PHI[j];

    for(int i = 2; i <= d; ++i)
    {
        //printf("%d ", PHI[i]);
        if( i <= c )
            cnt += 1LL * 2 * PHI[i];
        else
            cnt += 1LL * PHI[i];
    }
    printf("%lld", cnt);
}