Cod sursa(job #613127)

Utilizator Magnuscont cu nume gresit sau fals Magnus Data 16 septembrie 2011 18:01:14
Problema Secventa 3 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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("secventa3.in","r",stdin);
    freopen("secventa3.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;
}