Advertisement
GerONSo

Untitled

Apr 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. /*
  2. --┬-- | | --┬-- | |
  3. | |\ | | | |
  4. | | \ | | -----> | |
  5. | | \ | | | |
  6. | | \ | | | |
  7. --┴-- | \| | └---- └----
  8.  
  9. */
  10.  
  11. #define pragma
  12.  
  13. #ifdef pragma
  14. #pragma GCC optimize("Ofast")
  15. #pragma GCC optimize("no-stack-protector")
  16. #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  17. #pragma GCC optimize("unroll-loops")
  18. #endif // pragma
  19.  
  20. #include<bits/stdc++.h>
  21.  
  22. #define ll long long
  23. #define all(x) begin(x),end(x)
  24. #define pb push_back
  25. #define x first
  26. #define y second
  27. #define INF 9223372036854775807ll;
  28. #define PI 3.14159265359d
  29. #define INPUT "input.txt"
  30. #define OUTPUT "output.txt"
  31.  
  32. using namespace std;
  33.  
  34. typedef vector<int> vi;
  35. typedef pair<int,int> pii;
  36. typedef long double ld;
  37.  
  38. void seriy() {
  39. ios::sync_with_stdio(0);
  40. cin.tie(0);
  41. cout.tie(0);
  42. }
  43.  
  44. vi a;
  45.  
  46. int main(){
  47. seriy();
  48. int n, k;
  49. cin >> n >> k;
  50. a.resize(n);
  51. map<int, int> mp1;
  52. map<int, int> mp2;
  53. ll sum = 0;
  54. for(int i = 0; i < n; i++) {
  55. cin >> a[i];
  56. if(a[i] % (k * k) == 0 && mp2[a[i] / k] && mp1[a[i] / (k * k)]) sum += mp2[a[i] / k];
  57. if(a[i] % k == 0 && mp1[a[i] / k]) mp2[a[i]] += mp1[a[i] / k];
  58. mp1[a[i]]++;
  59. }
  60. cout << sum;
  61. return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement