感人的贪心,感人的月饼,第一个25自己做的25分题,哎,菜哭了
#include <bits/stdc++.h>
using namespace std;
struct node {
double x,y,z;
}ss[1000];
bool cmp(node a,node b){
return a.z>b.z;
}
int main(){
int n,m;
double sum=0;
cin>>n>>m;
for(int i=0;i<n;i++)cin>>ss[i].x;
for(int i=0;i<n;i++){
cin>>ss[i].y;
ss[i].z=ss[i].y/ss[i].x;
}
sort(ss,ss+n,cmp);
for(int i=0;i<n;i++){
if(ss[i].x<=m){
sum+=ss[i].y;
m-=ss[i].x;
}
else {sum+=m*ss[i].z;
break;
}
}
printf("%.2lf",sum);
return 0;
}