#include <iostream>
#include <algorithm>
using namespace std;
struct mooncake{
float price,ton;
}mo[1010];
bool cmp(mooncake a,mooncake b){
return a.price>b.price;
}
int main(){
freopen("g:\\in.txt","r",stdin);
int N;
float demand;
scanf("%d%f",&N,&demand);
for(int i=0;i<N;i++)
scanf("%f",&mo[i].ton);
for(int i=0;i<N;i++){
float temp;
scanf("%f",&temp);
mo[i].price=temp/mo[i].ton;
}
sort(mo,mo+N,cmp);
float profit=0;
for(int i=0;i<N;i++){
if(demand>mo[i].ton){
profit+=mo[i].ton*1.0*mo[i].price;
demand-=mo[i].ton;
}else{
profit+=demand*1.0*mo[i].price;
break;
}
}
printf("%.2f",profit);
return 0;
}
PAT A1070
最新推荐文章于 2021-09-14 23:22:44 发布