Priority Queue || Simple Approach || Beats 100.00%
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\npublic:\n    int areaOfMaxDiagonal(vector<vector<int>>& d) {\n        priority_queue<pair<float,int>>pq;\n        for(int i=0;i<d.size();i++){\n            float diaLen = sqrt(d[i][0]*d[i][0] + d[i][1]*d[i][1]);\n            int Area = d[i][0] * d[i][1];\n            pq.push({diaLen,Area});\n        }\n        while(!pq.empty()){\n            auto top1 = pq.top();\n            pq.pop();\n            auto top2 = pq.top();\n            pq.pop();\n            if(top1.first == top2.first){\n              return max(top1.second,top2.second);\n            }\n            else{\n                return top1.second;\n            }\n        }\n        return -1;\n    }\n};\n```
['Heap (Priority Queue)', 'C++']