Pagini recente » Cod sursa (job #2492833) | Cod sursa (job #1887703) | Cod sursa (job #2109041) | Cod sursa (job #1310168) | Cod sursa (job #2847800)
#include <fstream>
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
long long c, d, i, j, sol, x, cnt[1000100], mini, maxi, cap, s;
int main()
{
f >> c >> d;
mini = min(c-1, d-1);
maxi = max(c-1, d-1);
cap = min(mini, (d-1) / 2);
for (i = 2; i <= cap; i++) {
x = 1 - cnt[i];
sol = sol + x * ((c - 1) / i) * ((d - 1) / i);
if (x) {
for (j = i; j <= mini; j += i)
cnt[j] += x;
}
}
if (mini <= (d-1) / 2)
g << (c-1) * (d-1) - sol;
else {
for (i = cap + 1; i <= mini; i++)
s += cnt[i];
x = (mini - cap) - s;
sol += x;
g << (c-1) * (d-1) - sol;
}
f.close();
g.close();
return 0;
}