Pagini recente » Cod sursa (job #228461) | Autumn Warm Up 2007 | Cod sursa (job #3289175) | Cod sursa (job #3291579) | Cod sursa (job #26347)
Cod sursa(job #26347)
type sir=array[0..200000] of integer;
var s,a,max,poz:sir;
i,n,min,poz2,x:longint;
f,g:text;
begin
assign(f,'buline.in'); reset(f);
assign(g,'buline.out'); rewrite(g);
read(f,n);
for i:=1 to n do begin
read(f,a[i],x);
if x=0 then a[i]:=0-a[i];
end;
s[0]:=0;
for i:=1 to n do
s[i]:=s[i-1]+a[i];
max[1]:=s[1];
poz[1]:=1;
for i:=2 to n do
if max[i-1]<s[i] then begin
poz[i]:=i;
max[i]:=s[i];
end
else begin
max[i]:=max[i-1];
poz[i]:=poz[i-1];
end;
min:=10001;
poz2:=0;
for i:=1 to n do
if s[i]-max[i]<min then begin
min:=s[i]-max[i];
poz2:=i;
end;
write(g,s[n]-min,' ');
if min>s[n] then
writeln(g,'1 ',n)
else
if s[n]-max[n]=min then begin
write(g,'1 ');
writeln(g,n-(n-poz[n]));
end
else begin
write(g,poz2+1,' ');
writeln(g,n-(poz2-poz[poz2]));
end;
close(f); close(g);
end.