import java.lang.Math

val MOD: Int = 1000000000 + 7
val MODL: Long = MOD.toLong()

var H = IntArray(1)

fun main(args: Array<String>)
{
    val n = readLine()!!.toInt()
    H = readLine()!!.split(" ").map{it.toInt()}.toIntArray()

    var ans = water(0, n-1)
    println(ans)
}

fun water(from: Int, to: Int): Int {
    var dec = false
    var div = -1
    for (i in from until to) {
        if (H[i] > H[i+1] && !dec) {
            dec = true
            continue
        }
        if (dec && H[i] < H[i+1]) {
            dec = false
            if (div == -1) {
                div = i
            } else {
                div = if (H[i] > H[div]) div else i
            }
        }
    }

    var cnt: Int
    if (div != -1) {
        for (i in from..to) {
            H[i] -= H[div]
            if (H[i] < 0) H[i] = 0
        }
        cnt = H[div] + water(from, div-1) + water(div+1, to)
    } else {
        var n = -1
        for (i in from..to) {
            n = if (H[i] > n) H[i] else n
        }
        cnt = n
    }
    return cnt
}
