Cod sursa(job #197527)

Utilizator antoanelaAntoanela Siminiuc antoanela Data 4 iulie 2008 19:20:51
Problema Secventa 3 Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.88 kb
var f,g:Text;
    a,b,c,d,sa,sb,k:array[0..30010]of longint;
    sum,max:double;
    n,l,u,i:longint;
begin
assign(f,'secv3.in');
assign(G,'secv3.out');
reset(F);
rewrite(G);
read(f,n,l,u);
for i:=1 to n do read(F,a[i]);
for i:=1 to n do read(f,b[i]);
c[1]:=a[1];
d[1]:=b[1];
sa[1]:=c[1];
sb[1]:=d[1];
k[1]:=1;
if (l=1)then max:=a[1]/b[1];
for i:=2 to n do
  begin
    if ((c[i-1]+a[i])/(d[i-1]+b[i])>a[i]/b[i])and(k[i-1]+l-1<u)then
      begin
        c[i]:=c[i-1]+a[i];
        d[i]:=d[i-1]+b[i];
        k[i]:=k[i-1]+1;
      end else
      begin
        c[i]:=a[i];
        d[i]:=b[i];
        k[i]:=1;
      end;
    sa[i]:=sa[i-1]+a[i];
    sb[i]:=sb[i-1]+b[i];
    if (i>=l)then
      begin
        sum:=(sa[i]-sa[i-l+1]+c[i-l+1])/(sb[i]-sb[i-l+1]+d[i-l+1]);
        if (sum>max)then max:=sum;
      end;
  end;
write(g,max:0:2);
close(F);
close(g);
end.