蓝桥 程序员节发橙子 (思维)
题目描述
每年的 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;
}
蓝桥 程序员节发橙子 (思维)相关推荐
- P6364 1024 程序员节发橙子(贪心+前缀和)
提交链接:传送门 思路:对于每一个人,都要考虑左右有多少个人成绩比它小的,在这两者之间要取一个最大值,因为这样才能保证每个人都分到了橙子.利用前缀和的思想,把每一个数左右两边小于它的处理出来,然后遍历 ...
- 打印工资条怎么做到每个人都有表头明细_现在还在用订书钉装订工资条,算是一种落后吗?你的公司怎么发?...
工资条经历过三个时代,有的公司到现在还在用订书钉装订工资条,你的公司怎么发? 做企业薪酬的HR应该都知道,根据我国<工资支付暂行规定>第六条第三款规定,"用人单位必须书面记录支付 ...
- 网络营销人应具备的五大思维
网络营销人应具备的五大思维 随着网络科技的发展,网络在我们生活中是不可或缺的,在网络营销方面的人才也被许多公司需要,一个顶尖的网络营销人在公司的地位如同定海神针一般,通过一些资料的搜索,今天我们就来谈 ...
- Yann LeCun“隔纸对话”黄铁军:图灵机上的深度学习能模拟世界吗?
作者 | 青暮 东京大学编写的考试人工智能程序"东大"得到了好于80%考生的成绩,这说明日本高等教育的入学考试跟机器的智力一样肤浅. 索菲亚机器人算不上人工智能,只是一个完成度很高 ...
- visio对象放入word显示不全_办公人士必学visio技能 手把手教你使用visio绘制项目全景图!...
Hi,大家好!我是爱踢汪.今天本汪想问问你用什么总结项目,Word.PPT还是视频?下面我们聊聊画图.画图固然是为了好看,视觉上的冲击加深印象.更重要的是,图像模型带来的"潜台词" ...
- 系统架构设计师-软件水平考试(高级)-理论-操作系统
系统架构设计师-操作系统 前言: 之前文章发布后,发现还是有一定阅读量的,所以决定继续发一些思维导图. 思维导图首先以思维结构为主,其次以考试的内容进行一定的改动(如本次,将"嵌入系统&qu ...
- 培养创造性思维的20个技巧
培养创造性思维的20个技巧 分类: Non-technical 2010-11-22 11:27 8人阅读 评论(0) 收藏 举报 转自:http://www.douban.com/group/top ...
- 培养创造性思维20个技巧
1.换位思维.绝大多数创造性思想都是缘于思维角度的改变.对任何事情,你都应该尝试从不同角度.不同位置.不 同群体等方面去看一看,想一想,往往你会有一些意想不到的发现.视角的特别,也往往决定了创造力的高 ...
- 小方块上升组成背景特效 html+css+js
一.先看效果: 1024程序员节发篇文章拿个个徽章,嘿嘿 (^▽ ^ ) . 二.详细实现(后面有完整代码): 1.先定义html标签,.container就是底层大盒子,.item就是一个小方块,后 ...
- 我在乐视9年,亲眼看贾跃亭一步步走向失控
贾跃亭在乐视2012年的一次内部会议上,受访者供图.来源:21Tech 转载自21早新闻(id:News-21),21早新闻是21世纪传媒社交媒体矩阵公众号成员之一. 来源:21Tech(News-2 ...
最新文章
- linux+用户的shell,linux更换用户_更改linux用户登录shell的方法
- java中volatile关键字
- 2016蓝桥杯省赛---java---B---3(凑算式)
- ESLint共享配置的两种方式eslint-plugin和eslint-config
- 中表名字必须大写吗_pi network改名字的重要性—非常之重要!!
- 函数矩阵OpenGL中glFrustum()和gluPerspective()的相互转换
- Android 支持主线 Linux 内核指日可待?
- 微服务之服务生产与消费
- Solarwinds实现MSN报警
- 线性代数中一些有关秩的不等式
- CCleaner v5.83.9050版,免费的系统优化和隐私保护工具
- c语言中实型变量的三种类型,在C语言中实型变量分为两种类型.doc
- SAP MM 条件技术透析
- VMware没有未桥接的主机网络适配器,VMware bridge protocol服务卸载不掉
- tempfile.mkstemp 详解
- Python 实现PPPOE自动拨号
- 如何关闭联想电脑的大小写切换桌面提示
- 新课改计算机论文,新课改论文
- 浩方cs全是虚拟服务器,在浩方里面的CS1.5 如何建立服务器
- 洛谷1067 多项式输出 解题报告