class Solution { public: string parent(string node,unordered_map> &um){ while(node!=um[node].first){ node=um[node].first; } return node; } vector> accountsMerge(vector>& accounts) { int n = accounts.size(); unordered_map> um; unordered_map vis; vector,greater>> vpq(n); for(int **0;i> ans; int x = -1; for(int **0;i()); ans[x].push_back(accounts[i][0]); flag=0; } ans[x].push_back(vpq[i].top()); vpq[i].pop(); } } return ans; } };