Cod sursa(job #1971016)

Utilizator Marina23Oprea Marina Marina23 Data 19 aprilie 2017 19:22:16
Problema Mins Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>

using namespace std;
long long int L,C,Vmax,i,j,Ciur[1000001],Sol;
int main()
{
    ifstream fin("mins.in");
    ofstream fout("mins.out");

    fin>>L>>C;
    L--;
    C--;
    if(L<C)
        Vmax=L;
    else
        Vmax=C;
    for(i=2;i<=Vmax;i++)
    {
        if(Ciur[i]==0)
        {
            for(j=i+i;j<=Vmax;j+=i)
                if(Ciur[j]!=-1)
                    Ciur[j]++;
            for(j=i*i;j<=Vmax;j+=i*i)
                Ciur[j]=-1;
        }//if
    }//for
    //for(i=2;i<=100;i++)
      //  fout<<i<<' '<<Ciur[i]<<'\n';
    Sol=1LL*L*C;
    for(i=2;i<=Vmax;i++)
        if(Ciur[i]!=-1)
            if(Ciur[i]==0)
               Sol-=1LL*(L/i)*(C/i);
            else
                if(Ciur[i]%2==1)
                    Sol-=1LL*(L/i)*(C/i);
                else
                    Sol+=1LL*(L/i)*(C/i);
    fout<<Sol;

    fin.close ();
    fout.close();
    return 0;
}