Cod sursa(job #123408)

Utilizator TudorutzuMusoiu Tudor Tudorutzu Data 15 ianuarie 2008 19:20:19
Problema Buline Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.15 kb
var f,g:text;
    a:array[1..200000] of integer;
    s:array[1..400000] of longint;
    i,j,n,max,p,l,x:longint;
begin
     assign(f,'buline.in'); reset(f);
     assign(g,'buline.out'); rewrite(g);
     readln(f,n);
     for i:=1 to n do
     begin
          readln(f,a[i],x);
          if x=0 then a[i]:=-a[i];
          s[i]:=s[i-1]+a[i];
     end;
     for i:=1 to n-1 do s[i+n]:=s[i-1+n]+a[i];
     for i:=1 to n do
         for j:=i+1 to n+n-1 do
         if j-i+1<=n then
         begin
             if s[j]-s[i-1]>max then
             begin
               max:=s[j]-s[i-1];
               p:=i;
               l:=j-i+1;
             end
             else if s[j]-s[i-1]=max then
                     if i<p then
                     begin
                         p:=i;
                         l:=j-i+1;
                     end
                     else if i=p then
                             if j-i+1>l then
                             begin
                                  p:=i;
                                  l:=j-i+1;
                             end;
         end;
     writeln(g,max,' ',p,' ',l);
     close(g);
end.