1 #include
2 #include
3 int n,m,h[110],v[110];
4 double l,r,pi=3.14159265359,mid,t;
5 bool check(double a)
6 {
7 double x=0,tmp;t=0;
8 for(int i=1;i<=n;i++)
9 {
10 x+=(tmp=h[i]*tan(a));
11 t+=sqrt(h[i]*h[i]+tmp*tmp)/v[i];
12 a=asin(v[i+1]*sin(a)/v[i]);
13 }
14 return x>m;
15 }
16 int main()
17 {
18 scanf("%d%d",&n,&m);int i;
19 for(i=n;i;i--)scanf("%d",&h[i]);
20 for(i=n;i;i--)scanf("%d",&v[i]);
21 for(l=0,r=pi/2,i=1;i<=80;i++,check(mid=(l+r)/2)?r=mid:l=mid);
22 printf("%.3lf\n",t);
23 }