Cod sursa(job #26710)

Utilizator georgianaGane Andreea georgiana Data 5 martie 2007 20:36:52
Problema Buline Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.89 kb
var n,st,sum,i,smin,stmin,lgmin,c: longint;
    v: array[1..400000] of integer;

begin
   assign(input,'buline.in'); reset(input);
   read(n);
   for i:=1 to n do
       begin
          read(v[i],c);
          if c=0 then v[i]:=-v[i];
          v[i+n]:=v[i];
       end;

   sum:=v[1];
   st:=1;
   smin:=sum;
   stmin:=1;
   lgmin:=1;
   for i:=2 to 2*n-1 do
      begin
         if (i-st+1>n) then
           repeat
              sum:=sum-v[st];
              st:=st+1;
           until (sum>0) and (st<i-1);
         if sum>=0 then sum:=sum+v[i]
         else begin
                 sum:=v[i];
                 st:=i;
              end;
         if (sum>smin) then
            begin
               smin:=sum; stmin:=st; lgmin:=i-st+1;
            end;
      end;

   assign(output,'buline.out'); rewrite(output);
   writeln(smin,' ',stmin,' ',lgmin);
   close(output);
end.