#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct Cake{
double amount;
double total;
double price;
}list[1000];
int cmp(Cake &A,Cake &B){
return A.price>B.price;
}
int main(){
int N,D;
cin>>N>>D;
for(int i=0;i<N;i++){
cin>>list[i].amount;
}
for(int i=0;i<N;i++){
cin>>list[i].total;
list[i].price=list[i].total/list[i].amount;
}
sort(list,list+N,cmp);
double benefit=0;
for(int i=0;i<N;i++){
if(D>=list[i].amount){
benefit+=list[i].total;
D-=list[i].amount;
}
else{
benefit+=list[i].price*D;
break;
}
}
printf("%.2lf",benefit);
return 0;
}
PAT(Basic Level)_1020_月饼
最新推荐文章于 2024-07-14 11:09:39 发布