Cod sursa(job #28275)

Utilizator MariusGeantaMarius Geanta MariusGeanta Data 7 martie 2007 17:44:42
Problema Buline Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.1 kb
{ Buline preONI 2007 runda 3 }
program sdf;
    var x,y:array[1..10000] of integer;
        n,i,j,sigma,smax,s,p,d,l,a,b,suma:longint;
        f:text;
begin
     { citire date de intrare }
     assign(f,'buline.in');reset(f);
     readln(f,n);
     suma:=0;
     for i:=1 to n do begin
         readln(f,a,b);
         if b=0 then a:=-a;
         x[i]:=a;
         suma:=suma+x[i];
                      end;
     close(f);
     { creare vector y }
     for i:=1 to n do y[i]:=-x[i];
     { determinare suma maxima pe y }
     sigma:=y[1];smax:=y[1];s:=1;d:=1;i:=1;
     for j:=2 to n do begin
         if sigma<0 then begin
                              sigma:=y[j];i:=j;
                         end
                    else sigma:=sigma+y[j];
         if sigma>smax then begin
            smax:=sigma;
            s:=i;
            d:=j;
                        end;
                     end;
     { determinare suma ceruta }
     suma:=suma+smax;
     p:=d+1;
     l:=n-d+s-1;
     { afisare }
     assign(f,'buline.out');rewrite(f);
     write(f,suma,' ',p,' ',l);
     close(f);
end.