Cod sursa(job #635040)

Utilizator deneoAdrian Craciun deneo Data 18 noiembrie 2011 11:50:50
Problema Mins Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>
using namespace std;

#define unusable -100000

long long d[1000001], n, m, sol;

int main()
{
    long long i, j, minim = 0;
    ifstream f("mins.in");
    ofstream g("mins.out");
    f >> n >> m;
    --n; --m;
    minim = min(n, m);
    for(i = 2; i <= minim; ++i)
        if(d[i] == 0)
        {
            for(j = i * i; j <= minim; j += i * i)
                d[j] = unusable;
            for(j = i; j <= minim; j += i)
                ++d[j];
        }
    for (i = 2; i <= minim; i ++)
		if (d[i] > 0)
        {
			if (d[i] % 2 == 0)
				sol -= (n / i) * (m / i);
			else
				sol -=(n / i) * (m / i);
        }
    g << sol + n * m << '\n';
    g.close();
    return 0;
}