fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int a[3], b[3];
  6.  
  7. int find_next(int l, int r, int target, int n){
  8. int ans = l;
  9. while(l <= r){
  10. int mid = l + r >> 1;
  11. if(target == int(n / mid)) ans = mid, l = mid + 1;
  12. else r = mid - 1;
  13. }
  14. return ans;
  15. }
  16.  
  17. long long f(int n){
  18. int l = a[0], r = b[0];
  19.  
  20. long long ans = 0;
  21. while(l <= r){
  22. if(1LL * a[1] * l > n) break;
  23. int nxt = find_next(l, r, n / l, n);
  24. ans += 1LL * (nxt - l + 1) * min(n / l, b[1]);
  25. ans -= 1LL * (nxt - l + 1) * (a[1] - 1);
  26. l = nxt + 1;
  27. }
  28.  
  29. return ans;
  30. }
  31.  
  32. int main(){
  33. ios_base::sync_with_stdio(0);
  34. cin.tie(0);
  35.  
  36. for(int i = 0; i < 3; ++i){
  37. cin >> a[i] >> b[i];
  38. }
  39.  
  40. cout << f(b[2]) - f(a[2] - 1) << '\n';
  41.  
  42. return 0;
  43. }
  44.  
Runtime error #stdin #stdout 0.02s 5280KB
stdin
Standard input is empty
stdout
Standard output is empty