Cod sursa(job #3340346)
| Utilizator | Data | 13 februarie 2026 19:23:46 | |
|---|---|---|---|
| Problema | Mins | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
const int NMAX = 1e6;
int n, m;
ll answer;
ll dp[NMAX + 1];
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
fin >> n >> m;
n--; m--;
int mini = min(n, m);
for(int i = mini; i >= 1; i--) {
int good_n = n / i;
int good_m = m / i;
dp[i] = (ll) good_n * good_m;
for(int j = i + i; j <= mini; j += i) {
dp[i] -= dp[j];
}
}
fout << dp[1];
return 0;
}
