#include <iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct mooncake{
float mount;
float price;
float unit;
};
int cmp(mooncake a,mooncake b){
return a.unit>b.unit;
}
int main()
{
int n;
scanf("%d",&n);
int need;
scanf("%d",&need);
mooncake *a=new mooncake [n];
for(int i=0;i<n;i++){
scanf("%f",&a[i].mount);
}
for(int i=0;i<n;i++){
scanf("%f",&a[i].price);
}
for(int i=0;i<n;i++){
a[i].unit=a[i].price/a[i].mount;
}
sort(a,a+n,cmp);
float result =0.0;
for(int i=0;i<n;i++){
if(a[i].mount<=need){
result=result+a[i].price;
}else{
result=result+a[i].unit*need;
break;
}
need=need-a[i].mount;
}
printf("%.2f",result);
return 0;
}
L2-003 月饼
最新推荐文章于 2024-04-17 11:30:41 发布