Cod sursa(job #475163)

Utilizator freak93Adrian Budau freak93 Data 6 august 2010 11:35:25
Problema Mins Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>

using namespace std;

const char iname[]="mins.in";
const char oname[]="mins.out";
const int maxn=1000005;

ifstream f(iname);
ofstream g(oname);

int a[maxn],c,d,i,j,mint;
long long sol;

int main()
{
    f>>c>>d;
    --c,--d;
    mint=min(c,d);
    sol=1LL*c*d;
    for(i=2;i<=mint;++i)
    {
        if(a[i]==0)
        {
            if(i<=10000)
                for(j=i*i;j<=mint;j+=i*i)
                    a[j]=-1;
            for(j=i;j<=mint;j+=i)
                if(a[j]!=-1)
                    ++a[j];
        }
        if(a[i]!=-1)
            if(a[i]&1)
                sol-=1LL*(c/i)*(d/i);
            else
                sol+=1LL*(c/i)*(d/i);
    }
    g<<sol<<"\n";
}