Pagini recente » Cod sursa (job #2386431) | Cod sursa (job #3239075) | Cod sursa (job #389229) | Cod sursa (job #937422) | Cod sursa (job #433154)
Cod sursa(job #433154)
#include <stdio.h>
#include <algorithm>
#define IN "secv3.in"
#define OUT "secv3.out"
#define L 30010
using namespace std;
int A[L], B[L];
int n, u, l;
double Rez=0;
void citire()
{
scanf ("%d %d %d", &n, &u, &l);
for (int i=0;i<n;i++)
scanf ("%d ", &A[i]);
for (int i=0;i<n;i++)
scanf ("%d ", &B[i]);
}
void solve()
{
double S1,S2;
for (int i=max(l-1000,u);i<=l;i++)
{
S1=S2=0;
for (int j=0;j<i;j++)
{
S1+=A[j];
S2+=B[j];
}
if (S1/S2>Rez)
Rez=S1/S2;
for (int j=i;j<n;j++)
{
S1+=A[j];
S2+=B[j];
S1-=A[j-i];
S2-=B[j-i];
if (S1/S2>Rez)
Rez=S1/S2;
}
}
for (int i=u;i<=min(max(l-1000,u),min(l,u+1000));i++)
{
S1=S2=0;
for (int j=0;j<i;j++)
{
S1+=A[j];
S2+=B[j];
}
if (S1/S2>Rez)
Rez=S1/S2;
for (int j=i;j<n;j++)
{
S1+=A[j];
S2+=B[j];
S1-=A[j-i];
S2-=B[j-i];
if (S1/S2>Rez)
Rez=S1/S2;
}
}
printf("%.2lf",Rez);
}
int main ()
{
freopen (IN ,"r", stdin);
freopen (OUT ,"w", stdout);
citire();
solve();
return 0;
}