蓝桥 程序员节发橙子 (思维)

简介: 蓝桥 程序员节发橙子 (思维)

题目描述
每年的 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;
}
相关文章
|
机器学习/深度学习 Web App开发 算法
如何寻找论文及其相关代码?
如何寻找论文及其相关代码?
2979 1
|
数据挖掘 数据处理 调度
【软件设计师备考 专题 】计算机专业英语:掌握基本词汇和阅读理解技巧(一)
【软件设计师备考 专题 】计算机专业英语:掌握基本词汇和阅读理解技巧
639 0
|
10月前
|
数据采集 人工智能 搜索推荐
医朵云与阿里云达成全栈AI合作
医朵云携手阿里云,基于通义千问系列大模型推出临床研究助手,实现患者智能筛选、数据自动录入、不良反应精准识别等功能,单例筛选成本降70%以上,大幅提升新药研发效率,推动AI+临床研究新范式。
848 1
医朵云与阿里云达成全栈AI合作
|
3月前
|
人工智能 自然语言处理 搜索推荐
蚂蚁百宝箱正式发布AI构建能力:自然语言一键生成企业级智能体,助力业务创新提效
5月21日,蚂蚁百宝箱上线全新AI构建能力,支持自然语言一键生成智能体、营销活动与场景化Skill,深度融合行业资产与工程化能力,零代码、高可用、可交付。新用户注册即赠海量tokens,速体验!
644 2
|
7月前
|
JavaScript Linux Shell
OpenClaw(Clawdbot)阿里云无影云电脑部署+本地搭建超简单流程,零基础也能快速上手
2026年,AI自动化代理工具迎来全民普及,OpenClaw(原Clawdbot、Moltbot)凭借开源可控、跨平台适配、功能强大的核心优势,成为个人办公与轻量团队协作的“必备数字员工”[superscript:2]。截至2026年2月,OpenClaw开源社区已拥有1.1万名在线成员,核心技能插件超500个,可通过自然语言指令完成文档处理、跨工具协同、代码生成、多平台交互等各类自动化任务,无需用户掌握复杂编程技能[superscript:2]。
715 12
|
6月前
|
人工智能 监控 网络协议
从Clawdbot、Moltbot到OpenClaw,快速部署Clawdbot傻瓜式教程,跟着教程一步步走~
OpenClaw(原Clawdbot/Moltbot)是开源AI智能体,支持阿里云一键部署。无需代码基础,5分钟即可拥有专属AI员工,调用大模型自动处理邮件、监控文件、生成报告等任务,新手首月仅9.9元。(239字)
686 0
|
人工智能 算法 API
构建基于 Elasticsearch 的企业级 AI 搜索应用
本文介绍了基于Elasticsearch构建企业级AI搜索应用的方案,重点讲解了RAG(检索增强生成)架构的实现。通过阿里云上的Elasticsearch AI搜索平台,简化了知识库文档抽取、文本切片等复杂流程,并结合稠密和稀疏向量的混合搜索技术,提升了召回和排序的准确性。此外,还探讨了Elastic的向量数据库优化措施及推理API的应用,展示了如何在云端高效实现精准的搜索与推理服务。未来将拓展至多模态数据和知识图谱,进一步提升RAG效果。
763 1
|
SQL HIVE
hive留存率的统计
hive留存率的统计

热门文章

最新文章