#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<string>
#include<cstring>
#include<cmath>
#include<map>
#include<stack>
#define N 1005
#define ll long long
using namespace std;
double num[N],pri[N];
int s[N];
const bool cmp(const int x,const int y)
{
return pri[x]/num[x]>pri[y]/num[y];
}
int main()
{
int n,i,j;
double d;
while(scanf("%d%lf",&n,&d)!=EOF)
{
double ans = 0;
for(i = 0;i<n;i++)scanf("%lf",&num[i]);
for(i = 0;i<n;i++)scanf("%lf",&pri[i]);
for(i = 0;i<n;i++)s[i] = i;
sort(s,s+n,cmp);
for(i = 0;i<n&&d>0;i++)
{
if(d>num[s[i]])ans+=pri[s[i]];
else ans+=pri[s[i]]/num[s[i]]*d;
d-=num[s[i]];
}
printf("%.2lf\n",ans);
}
return 0;
}
pat1070 Mooncake
最新推荐文章于 2025-03-15 10:57:44 发布