二分
#include <iostream>
#include <algorithm>
using namespace std;
const int N=1010;
int a[N],b[N];
int main()
{
int n,v;
cin>>n>>v;
for(int i=1;i<=n;i++){
cin>>a[i];
a[0]+=a[i];
}
double k=v;
for(int i=1;i<=n;i++)
{
cin>>b[i];
k=min(k,(double)b[i]/a[i]);
}
double l=0,r=k;
while(r-l>1e-9)
{
double mid=(l+r)/2;
if(mid*a[0]<=v) l=mid;
else r=mid;
}
printf("%lf",l*a[0]);
}