C/C++ 围栏翻新(paint)
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)相关推荐
- 中石油训练赛 - 围栏翻新(思维+贪心+差分)
题目描述 小明的破旧围栏又要喷涂油漆了.围栏由N个木板构成,每个宽度都为1cm,但是高度各不相同.他给自己买了一个喷漆机器,喷涂头恰好也是1cm宽. 小明的喷漆机器是直接喷射的,因此喷头的每一个部位必 ...
- 地理围栏API服务开发
地理围栏API服务开发 要使用华为地理围栏服务API,需要确保设备已经下载并安装了HMS Core(APK),并将Location Kit的SDK集成到项目中. 指定应用权限 • 如果需要使用地理围栏 ...
- 画笔Paint的使用
//画笔Pain的简单使用 Paint paint = new Paint(); // 设置颜色 paint.setColor(color); // 设置抗锯齿 paint.setAntiAlias( ...
- Android 自定义View —— Paint
上一篇说了自定义view的坐标系以及view 的使用,下面说下自定义view Paint 的使用 Paint 相对于画笔 ,可以使用Paint 来决定画的内容的颜色,边距粗细,设置样式,字体大小 ,等 ...
- Clip Studio Paint 高级着色学习教程
剪辑工作室颜料着色专业指南! A Pro's Guide to Coloring With Clip Studio Paint! MP4 |视频:h264,1280×720 |音频:AAC,44.1 ...
- Android 中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)...
1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 ...
- 详解Paint的setPathEffect(PathEffect effect)
一.setPathEffect() 这个方法一看就和path有关,顾名思义,它就是给path设置样式(效果)的.PathEffect这个路径效果类没有具体的实现,效果是由它的六个子类实现的: 这六个子 ...
- 微信红包如何抢大包、直播反垃圾、老骗局翻新……这一期宅客周刊你值得拥有...
1.直播狂欢背后,如何揪出"不按套路出牌"的主播和观众? 在你对着美丽的女主播流口水时,偶尔会看到屏幕上冒出一条不和谐的弹幕,例如:"看艾薇:加XXXXX." ...
- android.graphics.Paint方法setXfermode (Xfermode x...
2019独角兽企业重金招聘Python工程师标准>>> 用法:设置两张图片相交时的模式 例子: mPaint = new Paint();mPaint.setXfermode(new ...
最新文章
- runnable和handler联合实现计时循环
- java:static关键字
- javascript基础语法——词法结构
- Zookeeper相关知识
- SAP OData执行的后台跟踪工具
- bootstrap-select采坑
- 这就是数据分析之数据可视化基础概念及工具
- 关于Redis Cluster的几个问题
- 实例1.1:通过HWND获得CWnd指针
- MATLAB之基本语法与基础函数
- ActiveMQ 无法启动 提示端口被占用 解决方案
- windows连接linux
- 企业无线接入平台好吗
- 未来机器人生活的畅享之旅
- 谷雪梅 Google中国
- ✿Tokeii✿CTF工具箱-附文件列表
- 路由器重温——POS接口配置管理——SDH
- SpringBoot(模板Thymeleaf)
- 成都奔驰加装三色氛围灯 蔚一车改
- Python的各种数字格式化方式(保留小数)
热门文章
- 共识算法介绍与分析(PoW、PBFT、Paxos、Raft)
- 导出报错cannot be resolved to absolute file path because it does not reside in the file system
- oracle实验六杨艳华_工作报告之oracle数据库实验报告
- 树莓派gpio指令问题:找不到指令或不能识别板子类型
- 学习笔记-flowable
- requestmapping里面的参数_如何通过反射获得方法的真实参数名(以及扩展研究)...
- python opencv边缘检测
- H5的新特新及API
- CCBN2018各类新品发布亮点精彩纷呈
- MCN的网红孵化毁了短视频行业