#include <iostream>
using namespace std;
void f()
{
int a[] = {-6,-8, -5, -9};
int len = sizeof(a)/sizeof(a[0]);
int sum = a[0] ;
int d = a[0];
int i;
for(i=1; i<len; i++)
{
if(d+a[i]>0)
d += a[i];
else
{
while(i<len && a[i]<0)
i++;
if(i<len)
d = a[i];
}
if(d>sum)
sum = d;
}
if(sum<0)
{
sum = a[0];
for(i=0; i<len; i++)
{
if(a[i]>sum)
sum = a[i];
}
}
cout<<sum<<endl;
}
int main(void)
{
f();
return 0;
}
最大子数组和
最新推荐文章于 2024-06-05 22:56:23 发布