#include<stdio.h>
double yb[3][1010];//库存量、总售价、单位售价
int main() {
int N;
double D;
scanf("%d %lf",&N,&D);
for(int i=0; i<N; ++i)
scanf("%lf",&yb[0][i]);
for(int i=0; i<N; ++i) {
scanf("%lf",&yb[1][i]);
yb[2][i]=yb[1][i]/yb[0][i];
}
for(int i=N-1; i>0; --i)
for(int j=0; j<i; ++j) {
if(yb[2][j]<yb[2][j+1])
for(int k=0; k<3; ++k) {
double temp=yb[k][j];
yb[k][j]=yb[k][j+1];
yb[k][j+1]=temp;
}
}
double sum=0;
int k=0;
while(D>0 && k<N) {
if(D>=yb[0][k]) {
D-=yb[0][k];
yb[0][k]=0;
sum+=yb[1][k];
} else {
yb[0][k]-=D;
sum+=D*yb[2][k];
D=0;
}
++k;
}
printf("%.2f",sum);
return 0;
}
B1020
最新推荐文章于 2021-02-16 10:00:01 发布