Cod sursa(job #50183)

Utilizator adrianraduleaRadulea Adrian adrianradulea Data 6 aprilie 2007 22:28:57
Problema Buline Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.62 kb
var a:array[1..400000] of integer; {400.000}
    i,n,ic,sf,pc,sc,max:longint;
    semn:0..1;
    f,g:text;
begin
assign(f,'buline.in'); reset(f);
assign(g,'buline.out'); rewrite(g);
read(f,n);
for i:=1 to n do begin
  read(f,a[i],semn);
  if semn=0 then a[i]:=-a[i];
  a[n+i]:=a[i];
end;
sc:=a[1]; max:=a[1]; ic:=1; sf:=1; pc:=1;
for i:=2 to 2*n-1 do begin
  if sc>0 then sc:=sc+a[i]
            else begin
              pc:=i;
              sc:=a[i];
            end;
  if (sc>max) and (i-pc+1<=n) then begin
    max:=sc;
    sf:=i;
    ic:=pc;
  end;
end;
write(g,max,' ',ic,' ',sf-ic+1);
close(g);
end.