diff --git a/502. IPO b/502. IPO new file mode 100644 index 0000000..efce737 --- /dev/null +++ b/502. IPO @@ -0,0 +1,26 @@ +class Solution { +public: + int findMaximizedCapital(int k, int w, vector& profits, vector& capital) { + int n = profits.size(); + vector> projects(n); + for (int i = 0; i < n; i++) { + projects[i] = {capital[i], profits[i]}; + } + + sort(projects.begin(), projects.end()); + int i = 0; + priority_queue maximizeCapital; + while (k--) { + + while (i < n && projects[i].first <= w) { + maximizeCapital.push(projects[i].second); + i++; + } + if (maximizeCapital.empty()) + break; + w += maximizeCapital.top(); + maximizeCapital.pop(); + } + return w; + } +};