题目描述
每年的 1024 程序员节日,黑马程序员都会举办大型的庆祝活动。今年的程序员节也不例外,每个班级的同学都发了橙子。

班级里有 n 名同学从前到后排成一排,且已经得知了这些同学的成绩,其中第 i 名同学的成绩是 ai。班主任想根据同学们上个阶段的考试成绩来评定发橙子的数量。为了激励成绩优秀同学,发橙子时需要满足如下要求:

相邻同学中成绩好的同学的橙子必须更多。若相邻的同学成绩一样,则它们分到的数量必须平等。
每个同学至少分配一个橙子
由于预算有限,班主任希望在符合要求的情况下发出尽可能少的橙子。请问,至少需要准备多少橙子呢?

输入
第一行是一个不超过 10^6 正整数 n,表示学生数量。

接下来一行有 n 个不超过 10^9 的非负整数 ai,表示第 i 个同学的成绩。

输出
输出答案,也就是需要最少准备多少个橙子。
样例输入
5
3 4 5 4 3
样例输出
9

分别从左到右和从右到左遍历一次数组,以从左到右的顺序为例
如果a[i]<a[i+1],就让L[i+1]=L[i]+1,类似于差分数组的样子。如果等于就相等,如果大于就附为0
R数组也一样的赋值
最后这一位等于L和R的最大值+1

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;const int maxx=1e6+100;
int a[maxx];
int L[maxx],R[maxx];
int n;int main(){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&a[i]);L[1]=R[n]=0;for(int i=2;i<=n;i++) {if(a[i]>a[i-1]) L[i]=L[i-1]+1;else if(a[i]==a[i-1]) L[i]=L[i-1];else L[i]=0;}for(int i=n-1;i>=1;i--) {if(a[i]>a[i+1]) R[i]=R[i+1]+1;else if(a[i]==a[i+1]) R[i]=R[i+1];else R[i]=0;}ll sum=0;for(int i=1;i<=n;i++) sum+=max(L[i],R[i])+(ll)1;cout<<sum<<endl;return 0;
}

蓝桥 程序员节发橙子 (思维)相关推荐

  1. P6364 1024 程序员节发橙子(贪心+前缀和)

    提交链接:传送门 思路:对于每一个人,都要考虑左右有多少个人成绩比它小的,在这两者之间要取一个最大值,因为这样才能保证每个人都分到了橙子.利用前缀和的思想,把每一个数左右两边小于它的处理出来,然后遍历 ...

  2. 打印工资条怎么做到每个人都有表头明细_现在还在用订书钉装订工资条,算是一种落后吗?你的公司怎么发?...

    工资条经历过三个时代,有的公司到现在还在用订书钉装订工资条,你的公司怎么发? 做企业薪酬的HR应该都知道,根据我国<工资支付暂行规定>第六条第三款规定,"用人单位必须书面记录支付 ...

  3. 网络营销人应具备的五大思维

    网络营销人应具备的五大思维 随着网络科技的发展,网络在我们生活中是不可或缺的,在网络营销方面的人才也被许多公司需要,一个顶尖的网络营销人在公司的地位如同定海神针一般,通过一些资料的搜索,今天我们就来谈 ...

  4. Yann LeCun“隔纸对话”黄铁军:图灵机上的深度学习能模拟世界吗?

    作者 | 青暮 东京大学编写的考试人工智能程序"东大"得到了好于80%考生的成绩,这说明日本高等教育的入学考试跟机器的智力一样肤浅. 索菲亚机器人算不上人工智能,只是一个完成度很高 ...

  5. visio对象放入word显示不全_办公人士必学visio技能 手把手教你使用visio绘制项目全景图!...

    Hi,大家好!我是爱踢汪.今天本汪想问问你用什么总结项目,Word.PPT还是视频?下面我们聊聊画图.画图固然是为了好看,视觉上的冲击加深印象.更重要的是,图像模型带来的"潜台词" ...

  6. 系统架构设计师-软件水平考试(高级)-理论-操作系统

    系统架构设计师-操作系统 前言: 之前文章发布后,发现还是有一定阅读量的,所以决定继续发一些思维导图. 思维导图首先以思维结构为主,其次以考试的内容进行一定的改动(如本次,将"嵌入系统&qu ...

  7. 培养创造性思维的20个技巧

    培养创造性思维的20个技巧 分类: Non-technical 2010-11-22 11:27 8人阅读 评论(0) 收藏 举报 转自:http://www.douban.com/group/top ...

  8. 培养创造性思维20个技巧

    1.换位思维.绝大多数创造性思想都是缘于思维角度的改变.对任何事情,你都应该尝试从不同角度.不同位置.不 同群体等方面去看一看,想一想,往往你会有一些意想不到的发现.视角的特别,也往往决定了创造力的高 ...

  9. 小方块上升组成背景特效 html+css+js

    一.先看效果: 1024程序员节发篇文章拿个个徽章,嘿嘿 (^▽ ^ ) . 二.详细实现(后面有完整代码): 1.先定义html标签,.container就是底层大盒子,.item就是一个小方块,后 ...

  10. 我在乐视9年,亲眼看贾跃亭一步步走向失控

    贾跃亭在乐视2012年的一次内部会议上,受访者供图.来源:21Tech 转载自21早新闻(id:News-21),21早新闻是21世纪传媒社交媒体矩阵公众号成员之一. 来源:21Tech(News-2 ...

最新文章

  1. linux+用户的shell,linux更换用户_更改linux用户登录shell的方法
  2. java中volatile关键字
  3. 2016蓝桥杯省赛---java---B---3(凑算式)
  4. ESLint共享配置的两种方式eslint-plugin和eslint-config
  5. 中表名字必须大写吗_pi network改名字的重要性—非常之重要!!
  6. 函数矩阵OpenGL中glFrustum()和gluPerspective()的相互转换
  7. Android 支持主线 Linux 内核指日可待?
  8. 微服务之服务生产与消费
  9. Solarwinds实现MSN报警
  10. 线性代数中一些有关秩的不等式
  11. CCleaner v5.83.9050版,免费的系统优化和隐私保护工具
  12. c语言中实型变量的三种类型,在C语言中实型变量分为两种类型.doc
  13. SAP MM 条件技术透析
  14. VMware没有未桥接的主机网络适配器,VMware bridge protocol服务卸载不掉
  15. tempfile.mkstemp 详解
  16. Python 实现PPPOE自动拨号
  17. 如何关闭联想电脑的大小写切换桌面提示
  18. 新课改计算机论文,新课改论文
  19. 浩方cs全是虚拟服务器,在浩方里面的CS1.5 如何建立服务器
  20. 洛谷1067 多项式输出 解题报告

热门文章

  1. 再见北理工:忆北京研究生的编程时光
  2. 杂凑算法md5c语言代码,MD5杂凑算法
  3. 介绍一下什么是静态独享代理ip。
  4. Luat合宙ESP32C3教程-点亮ST7735驱动1.8寸TFT液晶屏
  5. git使用教程10-修改 config 配置用户名和邮箱
  6. 促使网站快速收录的一些方法,超详细
  7. 一键seo提交收录_百度、360快速收录新上线网站技巧、方法
  8. Juypter Notebook 的安装、配置、部署
  9. FC光钎通道交换机,同行性价比超高
  10. SVG之线条动画相关