➤ Problem Link : 567C. Geometric Progression
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int struct st{ ll onel,twol,threel; }; typedef struct st S; map<int,S> mp; int main() { int n,k; cin>>n>>k; ll arr[n+1]; arr[0]=-1; mp[0].onel=0; mp[1].twol=0; mp[2].threel=0; for(int i=1;i<=n;i++) { cin>>arr[i]; mp[arr[i]].onel=0; mp[arr[i]].twol=0; mp[arr[i]].threel=0; } ll ans=0; for(int i=1;i<=n;i++) { if(arr[i]%k==0) { ans+=mp[arr[i]/k].twol; mp[arr[i]].twol+=mp[arr[i]/k].onel; } mp[arr[i]].onel++; } cout<<ans; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!