fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. unsigned long long int pot_szybkie(unsigned long long int a, unsigned long long int n)
  6. {
  7. unsigned long long w = 1;
  8.  
  9. while(n>0)
  10. {
  11. if (n%2 == 1) //jesli bit jest = 1
  12. w *= a;
  13.  
  14. a*= a;
  15. n/=2; //skrócenie o jeden bit
  16. }
  17. return w;
  18. }
  19. unsigned long long int tab[65];
  20. unsigned long long int counTab[65] = {0};
  21.  
  22. int main()
  23. {
  24. ios::sync_with_stdio(0);
  25. cin.tie();
  26. tab[64] = pot_szybkie(2,64)-1;
  27. for (int i = 0; i < 64; i++)
  28. {
  29. tab[i] = pot_szybkie(2,i);
  30.  
  31. }
  32. unsigned long long int T;
  33. cin >> T;
  34. unsigned long long int buffer;
  35. for (int i = 0; i < T; i++)
  36. {
  37. cin >> buffer;
  38. for (int j = 64; j > -1; j--)
  39. {
  40. if(buffer >= tab[j])
  41. {
  42. counTab[j]++;
  43. break;
  44. }
  45. }
  46. }
  47. cin >> T;
  48. for(int i = 0 ; i < T; i++)
  49. {
  50. cin >> buffer;
  51. cout << counTab[buffer-1] << "\n";
  52. }
  53. }
Success #stdin #stdout 0.01s 5440KB
stdin
10
1 9 9 9 9 9 9 9 9 9
1
4
stdout
9