502. IPO
Description
Suppose LeetCode will start its IPO soon. In order to sell a good price of its shares to Venture Capital, LeetCode would like to work on some projects to increase its capital before the IPO . Since it has limited resources, it can only finish at most k
distinct projects before the IPO . Help LeetCode design the best way to maximize its total capital after finishing at most k
distinct projects.
You are given n
projects where the i^th
project has a pure profit profits[i]
and a minimum capital of capital[i]
is needed to start it.
Initially, you have w
capital. When you finish a project, you will obtain its pure profit and the profit will be added to your total capital.
Pick a list of at most k
distinct projects from given projects to maximize your final capital , and return the final maximized capital.
The answer is guaranteed to fit in a 32-bit signed integer.
Example 1:
1 | Input: k = 2, w = 0, profits = [1,2,3], capital = [0,1,1] |
Example 2:
1 | Input: k = 3, w = 0, profits = [1,2,3], capital = [0,1,2] |
Constraints:
1 <= k <= 10^5
0 <= w <= 10^9
n == profits.length
n == capital.length
1 <= n <= 10^5
0 <= profits[i] <= 10^4
0 <= capital[i] <= 10^9
Hints/Notes
- 2025/03/08 Q3
- priority queue
- Leetcode solution
Solution
Language: C++
1 | class Solution { |