Submission #75086

#TimeUsernameProblemLanguageResultExecution timeMemory
75086charlies_mooSavrsen (COCI17_savrsen)C++17
30 / 120
2171 ms39808 KiB
#include <iostream> #include <cmath> using namespace std; int main() { int p[4000]; int pc = 0; for (int i = 2; i < 4000; i++) { bool f = true; for (int j = 0; j < pc; j++) { if (i % p[j] == 0) { f = false; break; } } if (f) { p[pc++] = i; } } int a, b; cin >> a >> b; int f[b+1]; f[1] = 1; for (int i = 2; i <= b; i++) { int q = 0; for (int j = 0; j < pc; j++) { if (i % p[j] == 0) { q = p[j]; break; } } if (q) { int t = q, s = 1; while (i % t == 0) { s += t; t *= q; } t /= q; f[i] = s * f[i/t]; } else { f[i] = i - 1; } } long long ans = 0; for (int i = a; i <= b; i++) { ans += abs(f[i] - i - i); } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...