Pagini recente » Cod sursa (job #2779028) | Cod sursa (job #985779) | Cod sursa (job #415161) | Cod sursa (job #38223) | Cod sursa (job #60367)
Cod sursa(job #60367)
#include <stdio.h>
#define NMAX 30100
int a[NMAX], b[NMAX];
int n, l, u;
double max;
void read()
{
int i;
scanf("%d %d %d\n", &n, &l, &u);
for(i = 1; i <= n; ++i)
{
scanf("%d", &a[i]);
}
for(i = 1; i <= n; ++i)
{
scanf("%d", &b[i]);
}
}
void solve()
{
int i, j;
int inc, sf;
double s1, s2;
double scade1, scade2;
s1 = s2 = 0;
for(i = 1; i <= l; ++i)
{
s1 += a[i];
s2 += b[i];
}
inc = 1;
sf = l;
max = s1 / s2;
while(sf <= n)
{
if(max * s2 < s1 )
max = s1 / s2;
scade1 = scade2 = 0;
for(i = sf+1; i <= (sf + (u - l)) && i <= n; ++i)
{
s1 += a[i];
s2 += b[i];
scade1 += a[i];
scade2 += b[i];
if(max * s2< s1 )
max = s1 / s2;
}
s1 -= a[inc]+scade1;
s2 -= b[inc]+scade2;
++inc, ++sf;
s1 += a[sf];
s2 += b[sf];
}
}
int main()
{
freopen("secv3.in", "r", stdin);
freopen("secv3.out", "w", stdout);
read();
solve();
printf("%.2lf\n", max);
fclose(stdin);
fclose(stdout);
return 0;
}