Pagini recente » Cod sursa (job #2660733) | Cod sursa (job #2978157) | Cod sursa (job #315488) | Cod sursa (job #812015) | Cod sursa (job #2882034)
#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;
}