#include<iostream>
#include<algorithm>
using namespace std;
int maxSubArray(int A[],int n)
{
int result=INT_MIN,f=0;
for(int i=0;i<n;++i)
{
f=max(f+A[i],A[i]);
result=max(f,result);
}
return result;
}
int main()
{
int A[]={-2,1,-3,4,-1,2,1,-5,4};
int n=sizeof(A)/sizeof(int);
cout<<maxSubArray(A,n)<<endl;
return 0;
}
#include<algorithm>
using namespace std;
int maxSubArray(int A[],int n)
{
int result=INT_MIN,f=0;
for(int i=0;i<n;++i)
{
f=max(f+A[i],A[i]);
result=max(f,result);
}
return result;
}
int main()
{
int A[]={-2,1,-3,4,-1,2,1,-5,4};
int n=sizeof(A)/sizeof(int);
cout<<maxSubArray(A,n)<<endl;
return 0;
}