class Solution { public: vector> kClosest(vector>& points, int k) { vector> 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 > res; while (k--) { res.push_back(points[a[0].second]); pop_heap(a.begin(), a.end()); a.pop_back(); } return res; } };