Cod sursa(job #1832031)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 19 decembrie 2016 12:16:46
Problema Mins Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#define nmax 1000005
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int n,m,k,v[nmax],s;
long long sol;
int main()
{
    int i,j;
    f>>n>>m;
    k=min(--n,--m);
    sol=1LL*m*n;
    for (i=2;i<=k;i++) {
        if (v[i]==-1)
            continue;
        if (v[i]==0) {
            for (j=i;j<=k;j+=i)
                if (v[j]>=0)
                    v[j]++;
            if (1LL*i*i<=k)
                for (j=i*i;j<=k;j+=i*i)
                    v[j]=-1;
        }
        if (v[i]&1)
            s=-1;
        else
            s=1;
        sol+=1LL*(n/i)*(m/i)*s;
    }
    g<<sol<<'\n';
}