测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A17437. 花坛

填空题 中等

题目描述

花坛

题目描述

花坛里有 n 朵花,每朵花的编号为 1,2,…,n。初始时,所有花的高度都是 0。

现在给定一个数列 h={h1,h2,…,hn},你可以重复进行如下的浇水操作,每次操作:任选一段连续区间 [l,r],区间内每朵花高度加 1。可以无限重复该操作,使得第 k 朵花的最终高度恰好为 hk(1≤k≤n)。

求完成目标需要的最小操作浇水次数。

输入格式

第一行一个整数,表示花的数量 n

第二行 n 个整数,依次表示每朵花需要达到的目标高度 h1,h2,…,hn

输出格式

输出一个整数,表示达成目标所需的最少浇水操作次数。

输入样例#1

5
3 1 2 3 1

输出样例#1

5

输入样例#2

8
4 23 75 0 23 96 50 100

输出样例#2

221

说明提示

1≤n≤100

0≤hi≤100

所有输入均为整数

参考答案

#include <iostream> using namespace std; int main() { int n; cin >> n; int h[105]; for (int i = 0; i < n; i++) { cin >> h[i]; } int ans = h[0]; for (int i = 1; i < n; i++) { int diff = h[i] - h[i - 1]; if (diff > 0) ans += diff; } cout << ans << endl; return 0; }
上一题 下一题