class Solution {
public:
int FindGreatestSumOfSubArray(vector<int> array) {
int len=array.size();
if(len==1)
return array[0];
int Max=array[0];
int sum=array[0];
for(int i=1;i<len;i++)
{
sum=max(array[i],array[i]+sum);
Max=max(Max,sum);
}
return Max;
}
};
class Solution {
public:
int FindGreatestSumOfSubArray(vector<int> array) {
int len=array.size();
if(len==1)
return array[0];
int Max=array[0];
int sum=array[0];
for(int i=1;i<len;i++)
{
if(sum<0)
sum=array[i];
else
sum+=array[i];
Max=max(sum,Max);
}
return Max;
}
};