Cod sursa(job #3326462)

Utilizator Mateixx1Trandafir Matei Mateixx1 Data 29 noiembrie 2025 08:46:18
Problema Mins Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;
const int MAX=1000001;
ifstream f("mins.in");
ofstream g("mins.out");
int ciurn[MAX],
    ciurp[MAX],
    c,d,n;
long long card;

void calcul(int i) {
    if(ciurn[i]==0) {
        for(int j=i; j<=n; j+=i) {
            ciurn[j]++;
        }
        long long k=1LL*i*i;
        for(long long jj=k; jj<=n; jj+=k) {
            ciurp[jj]=1;
        }
    }
    if(ciurp[i]==0) {
        long long t=1LL*(c/i)*(d/i);
        if(ciurn[i]%2==0) {
            card-=t;
        } else {
            card+=t;
        }
    }
}

int main() {
    f>>c>>d;
    c--,d--;
    n=min(c,d);
    for(int i=2; i<=n; i++) {
        calcul(i);
    }
    g<<1LL*c*d-card;
    f.close();
    g.close();
    return 0;
}