B1020

#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值