Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //============================================================================
- // Name : ACM
- // Author : Tarango Khan
- // Team : BRACU Byteheads
- //============================================================================
- #include <bits/stdc++.h>
- using namespace std;
- #define MAX 200005
- int A[MAX];
- int cnt[MAX];
- int divv[MAX];
- map<int,int> Map;
- int N,K;
- long long calc(){
- long long res = 0;
- for(int i = 0;i<N;i++){
- int val = A[i];
- if(val % K == 0 && (val/K) % K == 0){
- if(Map[val/K] != 0 && Map[val/K/K] != 0){
- res = res + Map[val/K];
- }
- }
- if(val % K == 0)
- Map[val] = Map[val] + Map[val/K];
- else
- Map[val]++;
- }
- return res;
- }
- int main() {
- scanf("%d %d",&N,&K);
- for(int i = 0;i<N;i++){
- scanf("%d",&A[i]);
- }
- memset(cnt,0,sizeof(cnt));
- long long res = calc();
- cout << res << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment