Cod sursa(job #2032535)

Utilizator andreiutu111Noroc Andrei Mihail andreiutu111 Data 5 octombrie 2017 10:47:58
Problema Mins Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int C,D,prim[1000001];
bool viz[1000001];
long long rez;
int main()
{
    f>>C>>D;
    --C,--D,rez=C*D;
    if(C>D)swap(C,D);
    for(int i=2;i<=C;++i){
        if(!prim[i]){
            for(int j=i;j<=C;j+=i)
                ++prim[j];
            for(int j=i*i;j<=C;j+=i*i)
                viz[j]=1;
        }
        if(!viz[i])
            if(prim[i]%2)rez-=(C/i)*(D/i);
            else rez+=(D/i)*(C/i);
    }
    g<<rez;
    return 0;
}