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;
}
上一题
下一题