C/C++ 围栏翻新(paint)

题目描述
小明的破旧围栏又要喷涂油漆了。围栏由N个木板构成,每个宽度都为1cm,但是高度各不相同。他给自己买了一个喷漆机器,喷涂头恰好也是1cm宽。
小明的喷漆机器是直接喷射的,因此喷头的每一个部位必须一直接触到木板,否则尤其会污染他的农田。并且机器也必须时刻与地面平行。可以看出,小明每次必须在同一高度对木板喷涂,可以从左到右直到没有围栏可以喷漆。这样,若干次喷漆之后,就可以将围栏翻新啦!
由于机器的特殊性,小明希望喷涂的次数尽量的少。如下图的围栏情况,共有5块木板,高度分别为2,3,4,1,2。第一次可以刷15,第二次刷13,第三次刷23,第四次刷33,第五次刷5~5。5次就可以刷完!(刷的顺序可以随意调整,也可以从上面开始刷)

小明想要知道至少需要刷多少次就可以把围栏都刷完,请你帮忙计算一下!

输入
第一行一个整数N,表示木板数量。
接下来N行,每行一个整数,表示每块木板依次的高度。

输出
翻新围栏所需的最少喷漆次数。

样例输入
5
2 3 4 1 2

样例输出
5

数据范围限制
30%的数据1<=n<=10
70%的数据1<=n<=1000
100%的数据1<=n<=100000,对于每个木板的高度0<=hi<=10000。

看了这个题,你第一时间想到的是用二维数组模拟吗?
但,我很负责任的告诉你,会T L E
那咋子办嘞?
别慌,上代码。
C++:

#include<iostream>
using namespace std;
int n,a[100005],ans;
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(a[i]>a[i-1])//自己慢慢想,或者拿一个画图画画就明白了,自己理解更好{ans+=a[i]-a[i-1];//累加}}cout<<ans;return 0;
}

C语言:

#include<stdio.h>
int n,a[100005],ans;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);if(a[i]>a[i-1]){ans+=a[i]-a[i-1];}}printf("%d",&ans);return 0;
}

最后,求个赞,拜拜~~~

C/C++ 围栏翻新(paint)相关推荐

  1. 中石油训练赛 - 围栏翻新(思维+贪心+差分)

    题目描述 小明的破旧围栏又要喷涂油漆了.围栏由N个木板构成,每个宽度都为1cm,但是高度各不相同.他给自己买了一个喷漆机器,喷涂头恰好也是1cm宽. 小明的喷漆机器是直接喷射的,因此喷头的每一个部位必 ...

  2. 地理围栏API服务开发

    地理围栏API服务开发 要使用华为地理围栏服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 • 如果需要使用地理围栏 ...

  3. 画笔Paint的使用

    //画笔Pain的简单使用 Paint paint = new Paint(); // 设置颜色 paint.setColor(color); // 设置抗锯齿 paint.setAntiAlias( ...

  4. Android 自定义View —— Paint

    上一篇说了自定义view的坐标系以及view 的使用,下面说下自定义view Paint 的使用 Paint 相对于画笔 ,可以使用Paint 来决定画的内容的颜色,边距粗细,设置样式,字体大小 ,等 ...

  5. Clip Studio Paint 高级着色学习教程

    剪辑工作室颜料着色专业指南! A Pro's Guide to Coloring With Clip Studio Paint! MP4 |视频:h264,1280×720 |音频:AAC,44.1 ...

  6. Android 中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)...

    1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 ...

  7. 详解Paint的setPathEffect(PathEffect effect)

    一.setPathEffect() 这个方法一看就和path有关,顾名思义,它就是给path设置样式(效果)的.PathEffect这个路径效果类没有具体的实现,效果是由它的六个子类实现的: 这六个子 ...

  8. 微信红包如何抢大包、直播反垃圾、老骗局翻新……这一期宅客周刊你值得拥有...

    1.直播狂欢背后,如何揪出"不按套路出牌"的主播和观众? 在你对着美丽的女主播流口水时,偶尔会看到屏幕上冒出一条不和谐的弹幕,例如:"看艾薇:加XXXXX." ...

  9. android.graphics.Paint方法setXfermode (Xfermode x...

    2019独角兽企业重金招聘Python工程师标准>>> 用法:设置两张图片相交时的模式 例子: mPaint = new Paint();mPaint.setXfermode(new ...

最新文章

  1. runnable和handler联合实现计时循环
  2. java:static关键字
  3. javascript基础语法——词法结构
  4. Zookeeper相关知识
  5. SAP OData执行的后台跟踪工具
  6. bootstrap-select采坑
  7. 这就是数据分析之数据可视化基础概念及工具
  8. 关于Redis Cluster的几个问题
  9. 实例1.1:通过HWND获得CWnd指针
  10. MATLAB之基本语法与基础函数
  11. ActiveMQ 无法启动 提示端口被占用 解决方案
  12. windows连接linux
  13. 企业无线接入平台好吗
  14. 未来机器人生活的畅享之旅
  15. 谷雪梅 Google中国
  16. ✿Tokeii✿CTF工具箱-附文件列表
  17. 路由器重温——POS接口配置管理——SDH
  18. SpringBoot(模板Thymeleaf)
  19. 成都奔驰加装三色氛围灯 蔚一车改
  20. Python的各种数字格式化方式(保留小数)

热门文章

  1. 共识算法介绍与分析(PoW、PBFT、Paxos、Raft)
  2. 导出报错cannot be resolved to absolute file path because it does not reside in the file system
  3. oracle实验六杨艳华_工作报告之oracle数据库实验报告
  4. 树莓派gpio指令问题:找不到指令或不能识别板子类型
  5. 学习笔记-flowable
  6. requestmapping里面的参数_如何通过反射获得方法的真实参数名(以及扩展研究)...
  7. python opencv边缘检测
  8. H5的新特新及API
  9. CCBN2018各类新品发布亮点精彩纷呈
  10. MCN的网红孵化毁了短视频行业