
while n = gets.chomp.to_i
  if n == 0 then break end

  a = []
  n.times do |i|
    a << gets.to_i
  end

=begin

これでも可能
  a = []
  n.times do
    a.push(gets.chomp.to_i)
  end
  
array << obj
<<演算子（メソッド）は、左辺の配列（レシーバ）の末尾に右辺のオブジェクトを要素として加えます。

animals = ["dog", "cat", "mouse"]
animals << "pig"
p animals
["dog", "cat", "mouse", "pig"]

array.push(obj, ...)
pushメソッドは、配列の末尾に引数を要素として追加します。

animals = ["dog", "cat", "mouse"]
animals.push("duck", "parrot")
p animals
["dog", "cat", "mouse", "pig", "duck", "parrot"]

=end

 
  max = -100_000
  n.times do |i|
    sum = 0
    a[i..-1].each do |j|
      sum += j
      max = sum if sum > max
    end
  end
 
  puts max
end
