Cod sursa(job #2290871)

Utilizator alexandruilieAlex Ilie alexandruilie Data 27 noiembrie 2018 09:31:45
Problema Mins Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int n,m,i,j,prim[1000010];
bool pr[1000010];
long long sol;
int main()
{
    f>>n>>m;
    n--;m--;
    if(n>m) swap(n,m);
    for(i=2;i<=n;i++)
    {
        if(prim[i]==0)
            {for(j=i;j<=n;j+=i)
            prim[j]++;
            for(j=i*i;j<=n;j+=i*i)
            pr[j]=1;
            }
    }
    for(i=1;i<=n;i++)
    {
        if(!pr[i])
            if(prim[i]%2) sol-=1LL*(n/i)*(m/i);
            else sol+=1LL*(n/i)*(m/i);
    }
    g<<sol;
    return 0;
}