您正在开发智能手机应用程序。您有一个应用程序的潜在客户列表。每个客户都有预算,当且仅当价格低于或等于客户的预算时,他们才会以您声明的价格购买应用程序。
您想确定一个价格,以使您从应用程序中获得的收入最大化。找到这个最大可能的收入。
例如,假设您有 4 个潜在客户,他们的预算是 30、20、53 和 14。在这种情况下,您可以获得的最大收入是 60。
我的朋友告诉我,只需对数组进行排序并尝试使用
ar[i]*(ni) 虽然我实现了我没有理解整个逻辑。真的需要帮助解释
#include<bits/stdc++.h>
using namespace std;
int maximumProfit(int budget[], int n) {
int ans=INT_MIN;
sort(budget,budget+n);
for(int i=0;i<n;i++)
{
ans=max(ans,budget[i]*(n-i));
}
return ans;
}