A1070 Mooncake (25point(s))
题意
给出N中月饼的数量和总的价格,市场需求量,求最大利润
思路
简单贪心。
总结
数量和价格都有可能是浮点型,虽然数量在样例是整形。
Sample Input:
3 200
180 150 100
7.5 7.2 4.5
Sample Output:
9.45
#include"bits/stdc++.h"
using namespace std;
struct Node{
double p;
double amount;
};
int main(){
// freopen("input.txt","r",stdin);
int n; double d; cin >> n >> d;
Node nodes[n];
for(int i=0;i<n;i++){
scanf("%lf",&nodes[i].amount);
}
for(int i=0;i<n;i++){
double p; scanf("%lf",&p);
nodes[i].p = p/nodes[i].amount;
}
sort(nodes,nodes+n,[](Node& t1,Node& t2){
return t1.p > t2.p;
});
double ans = 0;
for(Node &t:nodes){
if(d == 0) break;
int buy = min(d,t.amount);
ans += buy*t.p;
d -= buy;
}
printf("%.2f\n",ans);
}