Pagini recente » Cod sursa (job #2906036) | Cod sursa (job #2612984) | Cod sursa (job #100484) | Cod sursa (job #374657) | Cod sursa (job #334398)
Cod sursa(job #334398)
#include <stdio.h>
#define N 1<<18
#define NMAX 32000
int n,l,u;
char v[N];
int cost[NMAX],timp[NMAX],r,t;
double best;
void read()
{
scanf("%d%d%d\n",&n,&l,&u);
fgets(v+1,N,stdin);
int i,nr=0;
for (i=1; (v[i]>='0' && v[i]<='9') || v[i]==' '; i++)
{
if (v[i]>='0' && v[i]<='9')
nr=nr*10+v[i]-'0';
if (v[i]==' ' && nr)
{
cost[++r]=cost[r-1]+nr;
nr=0;
}
}
if (nr)
cost[++r]=cost[r-1]+nr;
nr=0;
fgets(v+1,N,stdin);
for (i=1; (v[i]>='0' && v[i]<='9') || v[i]==' '; i++)
{
if (v[i]>='0' && v[i]<='9')
nr=nr*10+v[i]-'0';
if (v[i]==' ' && nr)
{
timp[++t]=timp[t-1]+nr;
nr=0;
}
}
if (nr)
timp[++t]=timp[t-1]+nr;
}
void solve()
{
int i,j,nr1,nr2;
double k;
for (i=l; i<=u; i++)
for (j=1; j<=n-i+1; j++)
{
nr1=cost[j+i-1]-cost[j-1];
nr2=timp[j+i-1]-timp[j-1];
k=(double)nr1/nr2;
if (k>best)
best=k;
}
printf("%.2lf\n",best);
}
int main()
{
freopen("secv3.in","r",stdin);
freopen("secv3.out","w",stdout);
read();
solve();
return 0;
}