NKSEQ - Dãy số

Tác giả: RR

Ngôn ngữ: Pascal

uses math;
var
  res,i,n:longint;
  sum,l,r,a:array[0..100111] of longint;

begin
  read(n);
  for i:=1 to n do
    begin
      read(a[i]);
      sum[i]:=sum[i-1]+a[i];
    end;

  l[1]:=sum[1]; for i:=2 to n do l[i]:=min(l[i-1],sum[i]);
  r[n]:=sum[n]; for i:=n-1 downto 1 do r[i]:=min(r[i+1],sum[i]);

  for i:=1 to n do
    if  (r[i]-sum[i-1]>0)
    and (sum[n]-sum[i-1]+l[i]>0)
      then inc(res);
  writeln(res);
end.

Download