Cod sursa(job #1675751)

Utilizator refugiatBoni Daniel Stefan refugiat Data 5 aprilie 2016 15:43:04
Problema Mins Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("mins.in");
ofstream so("mins.out");
int v[1000005];
int main()
{
    int n,m;
    si>>n>>m;
    n--;
    m--;
    int maxx=min(n,m);
    int i,j,p,s=0;
    for(i=2;i<=maxx;i++)
    {
        if(!v[i])
        {
            for(j=i;j<=maxx;j+=i)
            {
                ++v[j];
            }
            p=i*i;
            for(j=p;j<=maxx;j+=p)
                v[j]=-2000000000;
        }
        if(v[i]>0)
        {
            if(v[i]&1)
            {
                s-=(n/i)*(m/i);
            }
            else
            {
                s+=(n/i)*(m/i);
            }
        }
    }
    //cout<<s<<'\n';
    so<<n*m+s;
    return 0;
}