花坛 题目描述 花坛里有 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 所有输入均为整数
正确答案:参考程序(Python):n=int(input());h=list(map(int,input().split()));ans=h[0];for i in range(1,n):if h[i]>h[i-1]:ans+=h[i]-h[i-1];print(ans)。样例→5、221。核心:差分正项和最小浇水。
试卷来源:202606 青少年等级考试C/C++真题三级