PAT-B1020 月饼

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。
现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,
请你计算可以获得的最大收益是多少。
#include
#include
using namespace std;
struct mooncake{
     
	double store;
	double sell;
	double price;
} cake[1010];

bool cmp(mooncake a,mooncake b){
     
	return a.price>b.price;
}

int main(){
     
	int n;
	double D;
	scanf("%d%lf",&n,&D);
	for(int i=0;i<n;++i){
     
		scanf("%lf", &cake[i].store);
	}
	for(int i=0;i<n;++i){
     
		scanf("%lf",&cake[i].sell);
		cake[i].price = cake[i].sell/cake[i].store;
	}
	sort(cake, cake+n, cmp);
	double ans=0;
	for(int i=0;i<n;++i){
     
		if(cake[i].store<=D){
     
			D-=cake[i].store;
			ans+=cake[i].sell;
		} else {
     
			ans+=cake[i].price*D;
			break;
		}
	}
	printf("%.2f\n", ans);
	return 0;
}

你可能感兴趣的:(PAT,算法)