Cod sursa(job #203132)

Utilizator Cristian_BBerceanu Cristian Cristian_B Data 13 august 2008 23:29:42
Problema Secventa 2 Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.86 kb
type vect=array[1..50000] of integer;
var p,pozs,pozi,max,ic,sf,i,n,k:longint;
    f,g:text;
    r,l,min,a,s:vect;
procedure load;
begin
 assign(f,'secv2.in');
 assign(g,'secv2.out');
 reset(f);rewrite(g);
 readln(f,n,k);
 read(f,a[1]);
 s[1]:=a[1];
 min[1]:=s[1];
 l[1]:=1;
 r[1]:=s[1];
 for i:=2 to n do
  begin
   read(f,a[i]);
   s[i]:=a[i]+s[i-1];
   if s[i]<min[i-1] then
    begin
    min[i]:=s[i];
    l[i]:=0;
    end
   else
    begin
     min[i]:=min[i-1];
     l[i]:=l[i-1]+1
     end;
   r[i]:=s[i]-min[i-1];
  end;
end;{*** load ***}


BEGIN
load;
max:=s[1];
ic:=1;sf:=1; p:=sf-ic;
for i:=2 to n do
 begin
    sf:=i;
    ic:=sf-l[i]+1;
    p:=sf-ic+1;
    if p>=k then
    if max<r[i] then 
     begin
      max:=r[i];
      pozi:=ic;pozs:=sf;
     end;
 end;
writeln(g,pozi,' ',pozs,' ',max);
close(f);close(g);
END.