fork download
  1. #include <bits/stdc++.h>
  2.  
  3. #define ll long long
  4. #define db double
  5.  
  6. #define pii pair<int, int>
  7.  
  8. #define vi vector<int>
  9. #define IOS ios_base::sync_with_stdio(false); cin.tie(NULL)
  10.  
  11. //pairs
  12. #define fs first
  13. #define se second
  14.  
  15. //vectors
  16. #define pb push_back
  17. #define pf push_front
  18.  
  19. //loops
  20. #define FOR(i, a, b) for(int i=(int)a;i<=(int)b;++i)
  21. #define ROF(i, a, b) for(int i=(int)a;i>=(int)b;i--)
  22. #define rep(a, x) for(auto& a : x)
  23. #define cc '\n'
  24.  
  25. //file
  26. #define file(name) if (fopen(name".inp", "r")) freopen(name".inp", "r", stdin), freopen(name".out", "w", stdout)
  27. #define TIME (1.0 * clock() / CLOCKS_PER_SEC)
  28.  
  29. using namespace std;
  30.  
  31. const int maxn = 5*1e3+7;
  32. const ll INF = 1e6;
  33.  
  34. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
  35. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  36. ll F[INF+1];
  37. ll s[7] = {2,3,5,7,11,13,17};
  38. map <ll, vector<ll>>MP;
  39. void init() {
  40. for (int i = 1; i <= INF; i++) F[i] = 1;
  41.  
  42. for( auto p: s){
  43. for (int j = p; j <= INF; j += p) {
  44. F[j] *= p;
  45. // MP[F[j]].pb(j);
  46. }
  47. }
  48. for (int i = 1; i <= INF; i++) {
  49. MP[F[i]].pb(i);
  50. }
  51. }
  52.  
  53. void solve()
  54. {
  55. ll a, b; cin >> a >> b;
  56.  
  57. ll res = 0;
  58.  
  59. for(auto &k : MP) {
  60. auto &vec = k.second;
  61. auto l = lower_bound(vec.begin(), vec.end(), a);
  62. auto r = upper_bound(vec.begin(), vec.end(), b);
  63.  
  64. ll n = r-l;
  65. //if (n !=0 ) cout << k.first << " " << n << cc;
  66. res += n*(n-1)/2;
  67. }
  68. cout << res << cc;
  69. }
  70.  
  71. int main() {
  72. IOS;
  73. file("PRIME");
  74.  
  75. init();
  76. int T; cin >> T;
  77. while(T--) {
  78. solve();
  79. }
  80.  
  81. cerr << "Time : " << TIME << " ";
  82. }
Success #stdin #stdout #stderr 0.04s 19936KB
stdin
2
1 5
1 10
stdout
1
4
stderr
Time : 0.039042