Cod sursa(job #26481)

Utilizator fogabFodor Gabor fogab Data 5 martie 2007 17:36:12
Problema Buline Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.77 kb
var f:text;
    a:array[1..200000] of integer;
    max,cmax,s,cs,l,cl,n,i,j:longint;

begin
assign(f,'buline.in');
reset(f);
readln(f,n);
for i:=1 to n do begin
   read(f,a[i],j);
   if j=0 then a[i]:=-a[i];
   end;
close(f);

max:=a[1];
s:=1;
l:=1;

cmax:=max;
cs:=s;
cl:=l;

i:=2;
while i<>s do
  begin
    if cmax<0 then
       begin
       cmax:=a[i];
       cs:=i;
       cl:=1;
       end
    else begin
         cmax:=cmax+a[i];
         inc(cl);
         end;
  if (cmax>max) or
     ((cmax=max) and (s>cs)) or
     ((cmax=max) and (s=cs) and (cl<l)) then
     begin
     max:=cmax;
     s:=cs;
     l:=cl;
     end;
  inc(i);
  if i>n then i:=1;
  end;
assign(f,'buline.out');
rewrite(f);
writeln(f,max,' ',s,' ',l);
close(f);
end.