Cod sursa(job #282030)
#include <fstream>
#include <stdio.h>
using namespace std;
double S_max;
double a[30010],b[30010];
double num[30010];
double q[30010],nr;
int n,m,M,sf,inc,u,l,dif;
void citire ()
{
freopen ("secv3.in","r",stdin);
freopen ("secv3.out","w",stdout);
scanf ("%d %d %d",&n,&u,&l);
for (int i=0;i<n;i++)
scanf ("%lf",&a[i]);
for (int i=0;i<n;i++)
{
scanf ("%lf",&b[i]);
num[i]=a[i]/b[i];
}
}
void solve()
{
double S=1;
inc=0;
sf=u-1;
for (int i=0;i<u;i++)
{
q[i]=num[i];
S*=num[i];
}
S_max=S;
for (int i=u;i<n;i++)
{
if (q[inc]<1)
{
nr=num[i];
dif=sf-inc+1;
while (dif>=u && nr> q[inc])
{
S/=q[inc];
dif--;
inc++;
}
}
q[++sf]=num[i];
S*=num[i];
if ((sf-inc+1)==l)
{
S/=q[inc];
++inc;
}
if (S>S_max)
S_max=S;
}
printf("%.2lf\n",S_max);
}
int main()
{
citire();
solve();
return 0;
}