Problem:
Score : 300 points

Problem Statement

In a flower bed, there are N flowers, numbered 1,2,......,N. Initially, the heights of all flowers are 0.
You are given a sequence h=\{h_1,h_2,h_3,......\} as input. You would like to change the height of Flower k to h_k for all k (1 \leq k \leq N), by repeating the following "watering" operation:

Specify integers l and r. Increase the height of Flower x by 1 for all x such that l \leq x \leq r.

Find the minimum number of watering operations required to satisfy the condition.

Constraints

1 \leq N \leq 100

0 \leq h_i \leq 100

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
h_1 h_2 h_3 ...... h_N

Output

Print the minimum number of watering operations required to satisfy the condition.

Sample Input 1

4
1 2 2 1

Sample Output 1

2

The minimum number of watering operations required is 2.
One way to achieve it is:

Perform the operation with (l,r)=(1,3).

Perform the operation with (l,r)=(2,4).

Sample Input 2

5
3 1 2 3 1

Sample Output 2

5

Sample Input 3

8
4 23 75 0 23 96 50 100

Sample Output 3

221

Solution in Fortran (gfortran v4.8.4) (judge verdict: Runtime Error)

program sample
    implicit none
  
    integer(8) :: i,j,m,n,x
    real(8)::a,b
    integer(8),allocatable ::h(:)
  
    read(*,*) n
    allocate(h(n))
    read(*,*)h
    x=0
    m=0
    do i=1,100
        do j=1,100
         if (h(j)>0) then
           x=1
           h(j)=h(j)-1
         else if (h(j)==0 .and. x==1) then
           m=m+1
           x=0
         end if
        end do
        if (x==1) then
            m=m+1
            x=0
        end if
    end do
    write(*,*) m
    deallocate(h)
    stop
end program sample