Cod sursa(job #1456693)

Utilizator cojocarugabiReality cojocarugabi Data 1 iulie 2015 18:21:21
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
# include <bits/stdc++.h>
# define ll long long
using namespace std;
ifstream fi("mins.in");
ofstream fo("mins.out");
const int nmax = 1e6 + 55;
bitset < nmax > b;
int d[nmax];
int main(void)
{
    ll n,m;
    fi>>n>>m;
    --n;--m;
    ll ans = n * m;
    ll mx = max(n,m);
    for (int i = 2;i <= mx;++i) b[i] = 1;
    for (int i = 2;i <= mx;++i)
    if (b[i])
    {
        b[i] = 1;d[i] = 1;
        for (int j = 2*i;j <= mx;j += i) b[j] = 0,++d[j];
    }
    for (int i = 2;i <= mx;++i)
        ans -= (d[i]&1 ? 1:-1) * (n / i) * (m / i);
    return fo << ans << '\n',0;
}