输入: 正数数组costs, 正数数组profits ,正数k ,正数m 含义: costs[i]表示i号项目的花费 ,profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润), k表示你只能串行的最多做k个项目 ,m表示你初始的资金  说明: 你每做完一个项目,马上获得的收益,可以支持你去做下一个项目。 输出: 你最后获得的最大钱数。

区块链毕设网qklbishe.com为您提供问题的解答

输入: 正数数组costs, 正数数组profits ,正数k ,正数m
含义: costs[i]表示i号项目的花费 ,profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润), k表示你只能串行的最多做k个项目 ,m表示你初始的资金
 说明: 你每做完一个项目,马上获得的收益,可以支持你去做下一个项目。 输出: 你最后获得的最大钱数。

class Solution { public: 	int findMaximizedCapital(int k, int m, vector<int>& costs, vector<int>& profits) { 		typedef pair<int, int> PII;	 		priority_queue<PII, vector<PII>, greater<PII>> minHeap; // first:花费 second: 利润 		priority_queue<int, vector<int>, less<int>> maxHeap;	// 利润从小到大(在可以买的项目内)  		for (int i = 0; i < costs.size(); i++) { 			minHeap.push(make_pair(costs[i], profits[i])); // 先按照花费从小到大组织 		}  		for (int i = 0; i < k; i++) { 			 			while (!minHeap.empty() && minHeap.top().first <= m) { 				maxHeap.push(minHeap.top().second); // 可以买的 && 利润最大的 				minHeap.pop(); 			}  			if (maxHeap.empty()){                 return m;             }  			m += maxHeap.top(); maxHeap.pop(); 		}         return m; 	} };

25:30

以上就是关于问题输入: 正数数组costs, 正数数组profits ,正数k ,正数m 含义: costs[i]表示i号项目的花费 ,profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润), k表示你只能串行的最多做k个项目 ,m表示你初始的资金  说明: 你每做完一个项目,马上获得的收益,可以支持你去做下一个项目。 输出: 你最后获得的最大钱数。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 输入: 正数数组costs, 正数数组profits ,正数k ,正数m 含义: costs[i]表示i号项目的花费 ,profits[i]表示i号项目在扣除花费之后还能挣到的钱(利润), k表示你只能串行的最多做k个项目 ,m表示你初始的资金  说明: 你每做完一个项目,马上获得的收益,可以支持你去做下一个项目。 输出: 你最后获得的最大钱数。