Cod sursa(job #1797001)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 3 noiembrie 2016 22:21:50
Problema Mins Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int mini,i,j,n,m,ok[1<<20],c[1<<20];
long long sol;
int main()
{
    f>>n>>m;
    --n;--m;
    mini=min(n,m);
    for(i=2;i<=mini;++i)
    if(!c[i])
    {
        for(j=i;j<=mini;j+=i)
        ++c[j];
        if(mini/i<i) continue;
        for(j=i*i;j<=mini;j+=i*i)
        ok[j]=1;
    }
    sol=1LL*m*n;
    for(i=2;i<=mini;++i)
    if(!ok[i])
        (c[i]&1)?sol-=1LL*(n/i)*(m/i):sol+=1LL*(n/i)*(m/i);
    g<<sol;
    return 0;
}