Cod sursa(job #886407)

Utilizator otto1Palaga Vicentiu-Octavian otto1 Data 22 februarie 2013 20:36:35
Problema Secventa 3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>

double a[30001],c[30001],p[30001],t[30001];

inline int min(int x,int y){if (x<y) return x;else return y;}

int main()
{
    double max=0;
    int n,l,u,i,j;
    freopen("secv3.in","r",stdin);
    freopen("secv3.out","w",stdout);
    scanf("%d %d %d\n",&n,&u,&l);
    for (j=1;j<=n;++j)
        scanf("%lf",&c[j]);
    for (i=1;i<=n;++i)
        p[i]=p[i-1]+c[i];
    for (i=1;i<=n;++i)
        scanf("%lf",&a[i]);
    for (i=1;i<=n;++i)
        t[i]=t[i-1]+a[i];
    for (i=1;i<=n-u+1;++i)
        for (j=i+u-1;j<=n&&j<=i+l-1&&j<=i+u+1000;++j)
            if (p[j]-p[i-1]>max*(t[j]-t[i-1]))
                max=(p[j]-p[i-1])/(t[j]-t[i-1]);
    printf("%.2lf",max);
    return 0;
}