
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int s[n];
for(int i=0;i<n;i++)
cin>>s[i];
int sum=0,max=0;
for(int i=0;i<n;i++)
{
sum+=s[i];
if(sum>max)
max=sum;
else if(sum<0)
sum=0;
}
cout<<max<<endl;
return 0;
}
上是自己写的代码
根据:


本文介绍了一个使用C++实现的最大子数组求和问题的解决方案。通过动态规划的方法,该算法能够在O(n)的时间复杂度内找到数组中具有最大和的连续子数组。文章中的代码示例清晰地展示了如何迭代计算子数组的累积和,并更新最大值。

7283

被折叠的 条评论
为什么被折叠?



