贪心,做就好,
这是题,
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
#define ll long long
#define llu unsigned long long
#define mst(a,b) memset(a,b,sizeof(a))
struct node
{
double price,x,y;
}a[1005];
bool cmp(node a,node b)
{
return a.price>b.price;
}
int main()
{
int n;
double m;
scanf("%d %lf",&n,&m);
for(int i=0;i<n;i++)
scanf("%lf",&a[i].x);
for(int i=0;i<n;i++)
{
scanf("%lf",&a[i].y);
a[i].price=a[i].y/a[i].x;
}
sort(a,a+n,cmp);
double sum=0;
for(int i=0;i<n;i++)
{
if(a[i].x<=m)
{
sum=sum+a[i].y;
m=m-a[i].x;
}
else
{
sum=sum+m*a[i].price;
break;
}
}
printf("%.2lf\n",sum);
return 0;
}