Cod sursa(job #2591893)

Utilizator VladTZYVlad Tiganila VladTZY Data 31 martie 2020 17:12:03
Problema Mins Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>

#define NMAX 1000100

using namespace std;

ifstream f("mins.in");
ofstream g("mins.out");

int n, m, mini, a[NMAX];
long long rez;
bool b[NMAX];

void rezolvare()
{
    for(int i = 2; i <= mini; i++)
    {
        if(a[i] == 0)
        {
            for(int j = 1; 1ll * j * i <= mini; j++)
                a[1ll * i * j]++;

            for(int j = 1; 1ll * j * i * i <= mini; j++)
                b[j * i * i] = 1;
        }
        if(b[i] == 0)
        {
            long long val = 1ll * (n / i) * (m / i);
            if(a[i] % 2 == 1)
                rez -= val;
            else
                rez += val;

            //g << i << " " << val << "\n";
        }
    }
}

int main()
{
    f >> n >> m;
    n--; m--;

    mini = min(n, m);
    rez = 1ll * n * m;
    rezolvare();

    /*for(int i = 1; i <= n; i++)
        g << a[i] << " " << b[i] << "\n";*/

    g << rez;
    return 0;
}