Pagini recente » Cod sursa (job #2927384) | Cod sursa (job #742028) | Cod sursa (job #557859) | Cod sursa (job #250742) | Cod sursa (job #188552)
Cod sursa(job #188552)
#include <stdio.h>
#define Nmax 30001
int a[Nmax], b[Nmax], N, L1, L2, i, sus, jos, p, u, minsus, minjos;
double rez, temp;
int main()
{
freopen("secv3.in", "r", stdin);
scanf("%d %d %d\n", &N, &L1, &L2);
for (i = 1; i<=N; i++) scanf("%d ", a + i);
for (i = 1; i<=N; i++) scanf("%d ", b + i);
for (i = 1; i<=L1; i++) { sus+=a[i]; jos +=b[i]; }
rez = (double)sus / jos;
p = 1; u = L1; minsus = sus; minjos = jos;
for (i = L1 + 1; i<=N; i++)
{
sus += a[i];
jos += b[i];
minsus += a[i] - a[i-L1];
minjos += b[i] - b[i-L1];
if (u - p + 1 == L2) { sus -=a[i-L1]; jos -=b[i-L1]; }
if ((double)sus / jos > (double)minsus / minjos)
{
u++;
temp = (double)sus / jos;
}
else
{
sus = minsus;
jos = minjos;
u = i;
p = i-L1+1;
temp = (double)sus / jos;
}
if (temp > rez) rez = temp;
}
fprintf(fopen("secv3.out", "w"), "%.2lf", rez);
return 0;
}