#include <stdio.h>
int main()
{
long long n=0,max,prev,cur;
scanf("%lld",&n);
scanf("%lld",&prev); //输入第一个元素,方便赋值
max = prev;
for(long long i=1;i<n;++i)
{
scanf("%lld",&cur);
prev = cur>(prev+cur)?cur:(prev+cur); //已有的最大值加上下一个元素 和下一个元素比较,(相当于判断起始位置)
max = max > prev ? max : prev; //用新的队头(或者不变)与目前的最大值比较,选出最大值
}
printf("%lld",max);
return 0;
}
连续子数组最大和
最新推荐文章于 2024-07-19 22:36:19 发布