#include<cstdio>
#include<stdlib.h>
#include<cstring>
#include<algorithm>
using namespace std;
struct mooncake
{
double store;
double sell;
double price;
}cake[1010];
bool cmp(mooncake x,mooncake y)
{
return x.price>y.price;
}
int main()
{
int n;
double d;
double p=0;
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);
for(int i=0;i<n;i++)
{
if(cake[i].store<=d)
{
d-=cake[i].store;
p+=cake[i].sell;
}
else
{
p+=d*cake[i].price;
break;
}
}
printf("%.2f",p);
system("pause");
return 0;
}
PAT 1070
最新推荐文章于 2024-12-18 01:39:59 发布