AtCoder Beginner Contest 116 C - Grand Garden
N=int(input()) H=list(map(int,input().split())) inf=1000 ans=0 def func(L,R): global H,ans if L>=R: return mi=inf for i in range(L,R): mi=min(mi,H[i]) ans+=mi for i in range(L,R): H[i]-=mi zero=[] zero.append(-1) for i in range(L,R): if H[i]==0: zero.append(i) zero.append(R) n=len(zero) for i in range(n-1): func(zero[i]+1,zero[i+1]) func(0,N) print(ans)