K Closest Points to Origin C2

🧩 Syntax:
class Solution {
public:
    vector<vector<int>> kClosest(vector<vector<int>>& points, int k) {
        vector<pair<double, int>> a(points.size());
        for (int i = 0; i < points.size(); ++i) {
            a[i] = {-pow(points[i][0], 2) - pow(points[i][1], 2), i};
        }

        make_heap(a.begin(), a.end());

        vector<vector<int> > res;
        while (k--) {
            res.push_back(points[a[0].second]);
            pop_heap(a.begin(), a.end());
            a.pop_back();
        }
        return res;
    }
};