1 条题解
-
0
自动搬运
来自洛谷,原作者为

k3v1n070828
退役的菜鸡搬运于
2025-08-24 21:45:04,当前版本为作者最后更新于2020-04-02 13:51:56,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
一道
非常简单的贪心题说下思路:
可以发现填平一个坑的同时,旁边的坑也会连带着被填一些。
∴旁边没填满的那个大坑会连带减少减少a[i]-a[i-1]的深度。
从第一个坑开始用循环:下一个坑是否能被连带着填满,如果不是的话,用ans记录每次的a[i]-a[i-1]。最后输出第一个坑的深度(无法被连带着填满)+ans(后面的坑需要的天数)。
用贪心做代码十分的简洁,唯一需要注意的一点是需要开long long。
话不多说,上代码:
#include<cstdio> using namespace std; long long n,a[100005];//十年OI一场空,不开long long见祖宗 long long ans=0; int main(){ scanf("%lld",&n);//输入 for(int i=1;i<=n;i++) scanf("%lld",&a[i]);//输入 for(int i=2;i<=n;i++) if(a[i]>a[i-1]) ans+=a[i]-a[i-1];//如果旁边坑没被填满,那就增加a[i]-a[i-1]天 printf("%lld\n",a[1]+ans);//输出 return 0; }蒟蒻的第一篇黄题题解,给蒟蒻点个赞呗
最后,望管理员通过,谢谢!
- 1
信息
- ID
- 2142
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 3
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者