➤ Problem Link : RKS
👉 Hint : Sorting with custom comparator
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int bool comp(pair<ll,pair<ll,ll> >& p1,pair<ll,pair<ll,ll> >& p2) { if(p1.second.first==p2.second.first) return p1.second.second<p2.second.second; else return p1.second.first>p2.second.first; } int main() { ll i,n; ll c; cin>>n>>c; ll arr[n]; for(i=0;i<n;i++) cin>>arr[i]; map<ll,pair<ll,ll> >m; for(i=0;i<n;i++) { m[arr[i]].first++; if(m[arr[i]].first==1) m[arr[i]].second=i; } vector<pair<ll,pair<ll,ll> > >v; map<ll,pair<ll,ll> >:: iterator it; for(it=m.begin();it!=m.end();it++) v.push_back(make_pair(it->first,make_pair(it->second.first,it->second.second))); sort(v.begin(),v.end(),comp); vector<ll>van; van.reserve(n); for(i=0;i<v.size();i++) { ll x=v[i].second.first; while(x!=0) { van.push_back(v[i].first); x--; } } for(i=0;i<van.size();i++) cout<<van[i]<<" "; return 0; }
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!!