fork download
  1. #include<bits/stdc++.h>
  2. #define ll long long int
  3. #define vec vector<ll>
  4. #define f(var,a,b) for(ll var = a ; var < b ; var++ )
  5. #define fr(var,a,b) for(ll var = a ; var > b ; var-- )
  6. #define fasthoja ios_base::sync_with_stdio(false); cin.tie(NULL);
  7.  
  8. using namespace std;
  9.  
  10. ll chefItUp(ll n) {
  11. // unset_bits keeps track of count of un-set
  12. // bits in binary representation of n
  13. ll unset_bits=0;
  14. while (n) {
  15. if ((n & 1) == 0)
  16. unset_bits++;
  17. n=n>>1;
  18. }
  19.  
  20. return 1 << unset_bits;
  21. }
  22.  
  23. int main(void) {
  24.  
  25. fasthoja;
  26. ll t; cin>>t;
  27. while(t--) {
  28. ll n; cin >> n;
  29.  
  30. vec cip;
  31.  
  32. f(i,1,n+1) {
  33. cip.push_back( chefItUp(i) );
  34. }
  35.  
  36. vec psum( cip.size() );
  37.  
  38. psum[0] = cip[0];
  39.  
  40. f( i,1,cip.size() ) {
  41. psum[i] = psum[i-1] + cip[i];
  42.  
  43. }
  44.  
  45.  
  46. ll q; cin >> q;
  47. f(i,0,q) {
  48. ll l,r; cin >> l >> r;
  49.  
  50. if( l == 1 ) cout << psum[r-1] << "\n";
  51. else {
  52.  
  53. cout << psum[r-1] - psum[l-2] << "\n";
  54. }
  55. }
  56.  
  57. }//end of test case loop
  58.  
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0s 5000KB
stdin
1
3
4
1 2
2 3
3 3
1 3
stdout
3
3
1
4