子数组最大和时间复杂度O(n)
#include<iostream>
using namespace std;
//子数组最大和
int maxsum(int* arr,int len)
{
if(arr==NULL||len==0)
return 0;
int cur=arr[0];
int res=arr[0];
for(int i=0;i<len;i++)
{
cur=cur>0 ? cur:0;
cur+=arr[i];
res=max(cur,res);
}
return res;
}
int main()
{
int len;
int arr[8];
cin>>len;
for(int i=0;i<8;i++)
{
cin>>arr[i];
}
cout<<maxsum(arr,len)<<endl;
}