2021.7.17提高B组模拟6T1 有趣的家庭菜园 4 (贪心)
Posted SSL_LKJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021.7.17提高B组模拟6T1 有趣的家庭菜园 4 (贪心)相关的知识,希望对你有一定的参考价值。
有趣的家庭菜园 4
题目大意
输入样例
第一行一个整数N
第二行N个整数Ai
1.
5
3 2 2 3 1
2.
5
9 7 5 3 1
3.
2
2021 2021
4.
8
12 2 34 85 4 91 29 85
输出样例
1.
3
2.
0
3.
1
4.
93
解题思路
差分+前缀和+后缀和
枚举 k k k取 m i n min min即可
AC代码
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n,a[200005];
long long ans=1e18,qzh[200005],hzh[200005];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for(int i=2;i<=n;i++)//前缀
qzh[i]=qzh[i-1]+max(0,a[i-1]-a[i]+1);
for(int i=n-1;i>=1;i--)//后缀
hzh[i]=hzh[i+1]+max(0,a[i+1]-a[i]+1);
for(int i=1;i<=n;i++)//求答案
ans=min(ans,max(qzh[i],hzh[i]));
printf("%lld",ans);
return 0;
}
谢谢
以上是关于2021.7.17提高B组模拟6T1 有趣的家庭菜园 4 (贪心)的主要内容,如果未能解决你的问题,请参考以下文章