Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <algorithm>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9. std::ios_base::sync_with_stdio(false);
  10. cin.tie(nullptr);
  11. cout.tie(nullptr);
  12. unsigned long long n, maxi = 0;
  13. long long q, m;
  14. long long suma = 0;
  15. cin >> q >> m;
  16. vector<unsigned long long> v2;
  17. vector<unsigned long long> v1;
  18. v2.push_back(0 % m);
  19. v2.push_back(2 % m);
  20. v2.push_back(2 % m);
  21. for (int i = 0; i < q; i++)
  22. {
  23. cin >> n;
  24. maxi = max(maxi, n);
  25. v1.push_back(n);
  26. }
  27. for(unsigned long long i = 3; i <= maxi; i++)
  28. {
  29. suma = i - pow(2, 0);
  30. v2.push_back(v2[suma]);
  31. for(unsigned long long d = 1; d <= ceil(log(i)); d++)
  32. {
  33. suma = i - pow(2, d);
  34. if(suma <= 0) break;
  35. v2[i] += v2[suma];
  36. }
  37. v2[i] = v2[i] % m;
  38. }
  39. for(unsigned long long i = 0; i < q; i++) cout << v2[v1[i]] << "\n";
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement