Cod sursa(job #3330361)

Utilizator WiseAndrei4Vetrila Andrei WiseAndrei4 Data 18 decembrie 2025 22:10:04
Problema Mins Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
#define ll long long
// #define fin cin
// #define gout cout
using namespace std;
ifstream fin("mins.in");
ofstream gout("mins.out");
const int MAX=1000001;
int ciurn[MAX],ciurp[MAX],c,d,n;
ll card;
void calcul(int i)
{
    if(!ciurn[i])
    {
        for(int j=i; j<=n; j+=i)++ciurn[j];
        ll k=1LL*i*i;
        for(ll j=k; j<=n; j+=k)ciurp[j]=1;
    }
    if(!ciurp[i])
    {
        ll t=1LL*(c/i)*(d/i);
        if(ciurn[i]%2==0)card-=t;
        else card+=t;
    }
}
int main()
{
    fin>>c>>d;
    n=min(--d,--c);
    for(int i=2; i<=n; ++i)calcul(i);
    gout<<1LL*c*d-card;
    return 0;
}