Cod sursa(job #2952251)

Utilizator biancalautaruBianca Lautaru biancalautaru Data 8 decembrie 2022 20:53:52
Problema Mins Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define DIM 1000001
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
long long x,y,mini,nr,sol;
int nrd[DIM];
bool d[DIM],f[DIM];
int main() {
    fin>>x>>y;
    x--;
    y--;
    mini=min(x,y);
    for (int i=2;i<=mini;i++)
        if (d[i]==0) {
            for (int j=2*i;j<=mini;j+=i) {
                d[j]=1;
                nrd[j]++;
                if (j%(i*i)==0)
                    f[j]=1;
            }
            nrd[i]=1;
        }
    for (int i=2;i<=mini;i++)
        if (f[i]==0) {
            nr=x/i*y/i;
            if (nrd[i]%2==1)
                sol+=nr;
            else
                sol-=nr;
        }
    fout<<x*y-sol;
    return 0;
}