#方針
#二つの0の間隔を測定する。ついでにその間の最小値も保持しておく。
n = gets.to_i
flw = gets.chomp.split(' ').map(&:to_i).push(0).unshift(0)
i = 0
min = 1
zero_flag = 1
count = 0
ans = 0
l = 0
while flw.sum != 0
  while i < flw.size
    if flw[i] == 0
      if zero_flag == 0#0でない数から0に移った場合。
        r = i - 1
        flw[l..r] = flw[l..r].map! {|num| num - min}
        ans += min
      end
      zero_flag = 1
    else
      if zero_flag == 1#直前が0だった場合
        min = 1
        l = i
      end
      if flw[i] < min
        min = flw[i]
      end
      zero_flag = 0
    end
    i += 1
  end
  i = 0
end
puts ans