题解:P5019 [NOIP2018 提高组] 铺设道路
首先进行观察,发现第 \(i\) 块区域分为两种情况:
- \(a_i \le a_{i-1}\),此时 \(a_{i-1}\) 操作时可以带上它,无需额外操作,答案不变。
- \(a_i > a_{i-1}\),此时前面带完后还需降低,答案补上差值 \(a_i - a_{i-1}\)。
枚举 \(i\) 判断即可。
给出参考代码:
#include<bits/stdc++.h>
using namespace std;
int n, a[100005], ans;
int main(){
cin >> n;
for(int i = 1; i <= n; i ++) cin >> a[i];
for(int i = 1; i <= n; i ++){
if(a[i] > a[i - 1]) ans += a[i] - a[i - 1];
}
cout << ans;
return 0;
}
分类:
题解
posted on 2025-01-11 14:19 zhangzirui66 阅读(16) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】