#A5234. 草坪浇水
草坪浇水
题目背景
一片草坪被分成 n 块,从左到右编号 1 到 n,一开始每块草的高度都是 0。
园丁每次可以挑一段连续的草地 [l, r],给这一段里的每块地都浇 1 单位水(于是这一段每块地的高度都 +1)。
园丁希望最终第 i 块地的高度恰好为 h_i。他想知道,最少要浇多少次。
题目描述
给定目标高度 h_1, h_2, …, h_n(草地初始高度全为 0)。每次操作可以选一段连续区间 [l, r],把其中每块地的高度都 +1。求让第 i 块地的高度恰好为 h_i 所需的最少操作次数。
输入格式
第一行一个整数 n。
第二行 n 个整数 h_1, h_2, …, h_n,表示每块地的目标高度。
输出格式
一个整数,表示最少操作次数。
输入输出样例
3
1 3 2
3
样例 1 解释
可以这样浇 3 次:先给 [1,3] 浇一次(高度变成 1 1 1),再给 [2,3] 浇一次(1 2 2),最后给 [2,2] 浇一次(1 3 2)。3 次刚好达成,少于 3 次做不到。
说明/提示
- 1 ≤ n ≤ 10^5 - 0 ≤ h_i ≤ 10^9 - 答案可能很大,注意使用合适的数据类型