fork download
  1. // Divisor Summotary Function
  2. #pragma GCC optimize("Ofast")
  3. #include <bits/stdc++.h>
  4. using namespace std;
  5. using ll = long long;
  6. #define int long long
  7.  
  8. ll sum(ll l, ll r)
  9. {
  10. return r * (r + 1) / 2 - l * (l + 1) / 2 + l;
  11. }
  12. ll const N = 100000000;
  13. void Solve()
  14. {
  15. ll divSum = 0;
  16. for (int i = 1; i * i <= N; i++) {
  17. // value <= sqrt(N)
  18. ll multiplier = N / i;
  19. divSum += i * multiplier;
  20. // value > sqrt(N)
  21. ll NbyA = i; // count
  22. ll highestVal = N / i;
  23. ll lowestVal = N / (i + 1) + 1;
  24. divSum += NbyA * sum(lowestVal, highestVal); // count * sum of values in range
  25. }
  26. cout << divSum << '\n';
  27. }
  28.  
  29. int32_t main()
  30. {
  31. ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  32. int t = 1;
  33. // cin >> t;
  34. for (int i = 1; i <= t; i++) {
  35. Solve();
  36. }
  37. return 0;
  38. }
  39. // Coded by Tahsin Arafat (@TahsinArafat)
  40.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
8224670522194237