Cod sursa(job #136858)

Utilizator corcoduscorcodus corcodus Data 16 februarie 2008 11:03:09
Problema Buline Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.75 kb
var fi,fo:text;
    n,i,nb,cl,pozi,pozf,suma:longint;
    vl,poz:array[0..200000]of longint;
    ss:array[0..200000]of longint;
begin
  assign(fi,'buline.in'); reset(fi);
  assign(fo,'buline.out'); rewrite(fo);
  read(fi,n);
  for i:=1 to n do
    begin
      read(fi,nb,cl);
      if cl=1 then vl[i]:=nb
              else vl[i]:=-nb;
    end;
  for i:=1 to n do
   if ss[i-1]<=0 then
     begin
       ss[i]:=vl[i];
       poz[i]:=i;
     end
   else
     begin
       ss[i]:=ss[i-1]+vl[i];
       poz[i]:=poz[i-1];
     end;
   for i:=1 to n do
     if ss[i]>suma then
       begin
         suma:=ss[i];
         pozi:=poz[i];
         pozf:=i;
       end;
   writeln(fo,suma,' ',pozi,' ',pozf-pozi+1);
   close(fi);
   close(fo);
end.