Cod sursa(job #1415789)

Utilizator marion4Maria Ionu marion4 Data 6 aprilie 2015 12:11:59
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <cstdio>
#include <algorithm>

using namespace std;

unsigned long long cmmdc(register int a,register int b)
{
    while(b!=0)
    {
        register int r=a%b;
        a=b;
        b=r;
    }
    return a;
}

int main() {
    freopen("mins.in","r",stdin);
    freopen("mins.out","w",stdout);
    int imax,jmax,mi,ma;
    scanf("%d%d",&imax,&jmax);
    --imax;
    --jmax;
    mi=min(imax,jmax);
    ma=imax+jmax-mi;
    imax=mi/2;
    jmax=ma/2;
    long long ct=1ll*mi*ma;
    for (register int i=1,multiplier=1; i<=imax; ++i,multiplier=1) {
        for (register int j=1,multiplier=1; j<=jmax; ++j,multiplier=1) {
            if (cmmdc(i,j)==1) {
                while (1ll*i*multiplier<=mi && 1ll*j*multiplier<=ma) {
                    if (multiplier>=2) {
                        --ct;
                    }
                    ++multiplier;
                }
            }
        }
    }
    printf("%I64d",ct);
    return 0;
}