C - Grand Garden

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 300

問題文

花壇に N 本の花が咲いており、それぞれ 1,2,......,N と番号が振られています。最初、全ての花の高さは 0 です。 数列 h=\{h_1,h_2,h_3,......\} が入力として与えられます。以下の「水やり」操作を繰り返すことで、すべての k(1 \leqq k \leqq N) に対して花 k の高さを h_k にしたいです。

  • 整数 l,r を指定する。l \leqq x \leqq r を満たすすべての x に対して、花 x の高さを 1 高くする。

条件を満たすための最小の「水やり」操作の回数を求めてください。

制約

  • 1 \leqq N \leqq 100
  • 0 \leqq h_i \leqq 100
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられます。

N
h_1 h_2 h_3 ...... h_N

出力

条件を満たすような最小の「水やり」操作の回数を出力してください。


入力例 1

4
1 2 2 1

出力例 1

2

「水やり」操作の回数は 2 回が最小です。 以下が一つの例です。

  • (l,r)=(1,3) の「水やり」操作を行う。
  • (l,r)=(2,4) の「水やり」操作を行う。

入力例 2

5
3 1 2 3 1

出力例 2

5

入力例 3

8
4 23 75 0 23 96 50 100

出力例 3

221

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