Cod sursa(job #2882034)

Utilizator Andrei_ierdnANeculau Rares-Andrei Andrei_ierdnA Data 31 martie 2022 09:40:51
Problema Mins Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

using namespace std;

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

long long c, d, i, j, sol, x, cnt[1000100], mini;

int main()
{
    f >> c >> d;
    mini = min(c-1, d-1);
    sol = sol + ((c - 1) / 2) * ((d - 1) / 2);
    for (i = 3; i <= mini; i += 2) {
        x = 1 - cnt[i];
        sol = sol + x * ((c - 1) / i) * ((d - 1) / i);
        i *= 2;
        sol = sol - x * ((c - 1) / i) * ((d - 1) / i);
        if (x) {
            for (j = i / 2; j <= mini; j += i)
                cnt[j] += x;
        }
        i /= 2;
    }
    g << (c-1) * (d-1) - sol;
    f.close();
    g.close();
    return 0;
}